安装放在最后了, 至于为什么要用Archlinux嘛, 之前大一的时候用的舒服, 可惜nvidia显卡适配太烂了, 以及字体还有缩放等一堆毛病, 几年过去了应该更新的不错了吧

基础配置

安装yay

sudo pacman -S base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

安装华硕linux管理

yay -S asusctl supergfxctl

启动服务

sudo systemctl enable --now supergfxd
sudo systemctl enable --now asusd

安装hyprland

yay -S hyprland-git

桌面组件

tofi // 启动器
waybar // 状态栏
dolphin xfce-polkit// 文件管理器 权限认证
kitty //终端
mako  // 通知程序
pipewire pipewire-pulse wireplumber pavucontrol // 音频
network-manager-applet nm-connection-editor //网络
wl-clipboard grim slurp swappy // 复制粘贴和截屏
brightnessctl acpi //亮度 电池
swww //壁纸

中文输入法

安装fcitx5

fcitx5-im fcitx5-gtk fcitx5-configtool rime-luna-pinyin fcitx5-rime

rime-ice-git

/etc/environment里写

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx

配置皮肤

sudo pacman -S fcitx5-material-color

安装好的在~/.config/fcitx5/conf/目录下,可以直接在configtool里改皮肤

然后雾凇拼音在~/.local/share/fcitx5/rime

新建一个default.custom.yaml

这里给出我的配置, 其实就改了一个候选词

patch:
  "menu/page_size": 7 #候选词
  __include: rime_ice_suggestion:/

chromium/electron 启动参数

默认都是xwayland, 会很糊, 直接Wayland启动就行

~/.config/chrome-flags.conf
~/.config/electronXX-flags.conf(xx为version)
~/.config/microsoft-edge-stable-flags.conf
~/.config/code-flags.conf

在上述文件写入以下内容

--enable-features=UseOzonePlatform 
--ozone-platform=wayland
--enable-wayland-ime

如果某些不知道conf名称的,直接在desktop文件里修改就行了(比如obsidian和jetbrains家的)

科学上网

直接安装clash-verge-rev yay -S clash-verge-rev-bin

然后正常使用tun模式就行

安装英伟达驱动

sudo pacman -S nvidia-open-dkms nvidia-utils nvidia-settings

剪切板工具

配合wofi使用

exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store

以及bind = $mainMod Alt, C, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy

这样就可以快速查看了,虽然还是没有alfred好用

图片/视频 播放器

imv
mpv
loupe

记得刷新MIME类型绑定

sudo update-mime-database /usr/share/mime
sudo update-desktop-database /usr/share/applications

截图工具

美化

壁纸

用的是swww

在hyprland里加上

exec-once = swww-daemon
exec-once = sleep 0.5 && ~/.local/share/bin/set_random_wallpaper.sh

bind = $mainMod SHIFT, W, exec, ~/.local/share/bin/set_random_wallpaper.sh

定时切换

~/.config/systemd/user/wallpaper-switch.service

[Unit]
Description=Switch wallpaper every 10 minutes

[Service]
ExecStart=/home/7air/.local/share/bin/set_random_wallpaper.sh

[Install]
WantedBy=default.target

以及~/.config/systemd/user/wallpaper-switch.timer

[Unit]
Description=Timer to switch wallpaper every 10 minutes

[Timer]
OnUnitActiveSec=10m
Unit=wallpaper-switch.service

[Install]
WantedBy=timers.target

脚本内容随便写个swww切换就行

#!/bin/bash

WALLPAPER_DIR="$HOME/pictures/" # 这里指向你的 Pictures 目录

if ! pgrep -x "swww-daemon" >/dev/null; then
  #echo "错误(脚本): swww-daemon 未在运行。" >&2
  #echo "提示(脚本): 请确保 swww-daemon 已通过 'systemctl --user start swww-daemon.service' 或 Hyprland 的 'exec-once = swww-daemon' 启动。" >&2
  exit 1
fi

if [ ! -d "$WALLPAPER_DIR" ]; then
  #echo "错误:壁纸目录 $WALLPAPER_DIR 不存在!"
  exit 1
fi

RANDOM_WALLPAPER=$(find "$WALLPAPER_DIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) -print0 | shuf -n1 -z | xargs -0 echo)

if [ -z "$RANDOM_WALLPAPER" ]; then
  #echo "错误:在 $WALLPAPER_DIR 中没有找到符合条件的图片文件。"
  exit 1
elif [ ! -f "$RANDOM_WALLPAPER" ]; then # 再次确认选中的是一个文件
  #echo "错误:选中的 '$RANDOM_WALLPAPER' 不是一个有效的文件。"
  exit 1
fi

#echo "正在设置壁纸: $RANDOM_WALLPAPER"

swww img "$RANDOM_WALLPAPER" --transition-type random --transition-fps 60 --transition-duration 1

键盘LED

用的是asusctl/usr/share/ausud/*.ron中加入幻16的设备id即可

	(
        device_name: "GU605CR",
        product_id: "",      
        layout_name: "ga401q",     
        basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
        basic_zones: [],
        advanced_type: Zoned([SingleZone]),
        power_zones: [Keyboard],
    )

触控板

hyprland 默认关闭

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
    workspace_swipe_min_speed_to_force = 20
    workspace_swipe_cancel_ratio = 0.25
    workspace_swipe_direction_lock = true
    workspace_swipe_direction_lock_threshold = 15

}

显示器backlight

在内核参数里加上这个

i915.enable_dpcd_backlight=3

wofi

安装

好像有个archinstall

但是我们直接手动装好了

由于避免没必要的网络原因, 我mac直接开了个surge服务, 代理直接用这个就好了

连接WIFI

iwctl
device list

station wlan0 scan
station wlan0 get-networks
station wlan0 connect SSID #填充一下上面得到的SSID
exit

你永远不知道会有什么新坑等着你

由于本台电脑为幻16 air 2025, 网卡为 Intel BE201, 电脑有点太新了, WIFI网卡不怎么怎么没用了, 但是查看官网, 发现支持6.14.x, 按道理lib下有驱动, 内核版本也支持, 但是ip link起不来wlan0, 这里决定先用有线网装好后, 再去解决WIFI问题

分区

lsblk

我这里是nvme1n1, 隔壁的nvme0n1装的是我的windows

先重设为GPT分表(会清空盘, 数据无价, 谨慎操作) parted /dev/nvme1n1 -- mklabel gpt

cfdisk /dev/nvme1n1进入图形化界面

接下来选择分区类型

new -> 512M -> Type (选择EFI System)
new -> 34G -> Type(linux swap) //根据自己需求进行选择, 默认不要即可
new -> (直接回车 all) -> Type(linux filesystem)

之后write 输入yes后退出,就成功分好区了

可以lsblk再次查看

格式化

mkfs.fat -F32 /dev/nvme1n1p1       # 格式化 EFI 分区为 FAT32
mkfs.ext4 /dev/nvme1n1p3           # 格式化根分区为 ext4
mkswap /dev/nvme1n1p2              # 初始化 swap 分区
swapon /dev/nvme1n1p2              # 启用 swap

如果没有设置交互分区, 就不需要执行对应命令

挂载

mount /dev/nvme1n1p3 /mnt                # 挂载根分区
mkdir -p /mnt/boot/efi
mount /dev/nvme1n1p1 /mnt/boot/efi       # 挂载 EFI 分区

lsblk 可以看到是否正确挂载

安装系统前

如果没有代理的话, 最好先修改一下镜像源

vim /etc/pacman.d/mirrorlist

添加需要的镜像源

Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

当然如果你有代理的话直接用就行

export http_proxy=http://ip:port
export https_proxy=http://ip:port

安装系统

pacstrap -K /mnt base base-devel linux linux-headers linux-firmware vim networkmanager iwd grub efibootmgr

生成文件系统表

genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

最后进入安装环境

arch-chroot /mnt

基本配置

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

然后编辑语言vim /etc/locale.gen

最好不要改中文, 到时候桌面啥的都变成中文, 不太好用 直接en_US.UTF-8 UTF-8 这行反选注释就好了

locale-gen 同时写入环境配置 echo "LANG=en_US.UTF-8" > /etc/locale.conf

设置主机名和hosts

echo "arch" > /etc/hostname

设置密码

passwd

安装并配置引导

之前安装过的, 如果没有安装记得再安装一下

pacman -S grub efibootmgr

安装引导器到EFI分区

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

生成配置文件

grub-mkconfig -o /boot/grub/grub.cfg

双系统同步时间

Windows和linux用的时间不一样, 最好不要改windows, 容易被更新覆盖, 直接在linux上改

timedatectl set-local-rtc 1 --adjust-system-clock

启动网络服务

systemctl enable NetworkManager

安装微码

pacman -S intel-ucode   #Intel
pacman -S amd-ucode     #AMD

如果不知道自己是什么CPU

lscpu就能看到

识别双系统

一般来说安装后的linux启动里是没有windows的

安装os-prober

pacman -S os-prober

完成安装

exit #退出回去u盘系统
umount -R /mnt
reboot

记得拔掉u盘

太新的设备一般会有PCIe Bus Error的刷屏错误

可以在grub里vim /etc/default/grub

修改

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet pci=noaer"

之后重新生成grub配置 grub-mkconfig -o /boot/grub/grub.cfg

安装后

WIFI

六百六十六

BE 201应该没广泛支持, 暂时先用有线网