初步配置 Archlinux
初步配置 Arch Linux
今天的目标有:
- 配置网络,使用 NetworkManager + bluz
- 配置图形环境 Hyprland
- 配置中文环境,安装中文字体及输入法
- 一些小装修,包括字体, Hyprland、neovim、zsh 的装修以及 kmscon 等
配置网络
首先先设置基本网络服务的开机自启
1 | sudo systemctl enable --now dhcpcd NetworkManager bluetooth |
然后连接到 Wi-Fi(如有有线网络连接这一步可以忽略)
1 | nmcli device wifi connect <SSID> password <password> |
设置主机名
1 | hostnamectl hostname <hostname> |
配置图形环境
安装 Hyprland 及其它必要的包
| 包 | 功能 |
|---|---|
| paru | AUR 管理器 |
| hyprland | 窗口管理器 |
| greetd | 登录管理器 |
| kitty | 终端模拟器 |
| waybar | 状态栏 |
| pipewire pipewire-jack pipewire-pulse pipewire-alsa wireplumber pavucontrol | 声音相关服务 |
| nerd-fonts | 图标字体 |
| noto-fonts | Google 开源字体 |
| ttf-jetbrains-mono | 等宽字体 |
| ttf-liberation | Liberation 兼容字体 |
| ttf-dejavu | DejaVu 基础字体 |
| libnotify | 通知库 |
| mako | 通知守护程序 |
| thunar tumbler ffmpegthumbnailer poppler-glib gvfs-smb file-roller thunar-archive-plugin thunar-media-tags-plugin thunar-shares-plugin | 文件管理及其依赖和插件 |
| mpv | 音视频播放器 |
| wl-clipboard cliphist | 剪切板 |
| network-manager-applet | networkmanager 的图形前端 |
| brightnessctl | 亮度调节工具 |
| power-profiles-daemon | 性能模式切换工具 |
| fuzzel | 程序启动器 |
| hypridle | 空闲管理 |
| hyprlock | 锁屏程序 |
| hyprlogin | 登录程序 |
| hyprpolkitagent | 权限认证代理 |
| hyprpaper | 壁纸管理器 |
| xdg-utils | 默认应用关联管理工具 |
| xdg-dbus-proxy | D-Bus 总线安全代理 |
| xdg-user-dirs | 标准用户家目录生成器 |
| xdg-terminal-exec | 统一终端模拟器调用规范 |
| xdg-desktop-portal | 跨桌面门户接口 |
| xdg-desktop-portal-hyprland | Hyprland 门户后端 |
| xdg-desktop-portal-gtk | GTK 通用门户后端 |
| qt5-wayland qt6-wayland | qt 的 wayland 兼容库 |
1 | sudo pacman -S hyprland greetd kitty nerd-fonts noto-fonts ttf-jetbrains-mono ttf-liberation ttf-dejavu waybar pipewire pipewire-jack pipewire-pulse pipewire-alsa wireplnumber pavucontrol libnotify mako thunar tumbler ffmpegthumbnailer poppler-glib gvfs-smb file-roller thunar-archive-plugin thunar-media-tags-plugin thunar-shares-plugin mpv wl-clipboard cliphist network-manager-applet brightnessctl power-profiles-daemon fuzzel hypridle hyprlock hyprlogin hyprpolkitagent hyprpaper xdg-utils xdg-dbus-proxy xdg-user-dirs xdg-terminal-exec xdg-desktop-portal xdg-desktop-portal-hyprland xdg-desktop-portal-gtk qt5-wayland qt6-wayland |
启用服务
1 | systemctl --user enable --now hyprpaper hypridle hyprpolkitagent |
配置 greetd 及 hyprlogin
1 | sudo cp /usr/share/hyprlogin/greetd-config.toml /etc/greetd/config.toml |
创建标准家目录
1 | xdg-user-dirs-update |
编辑 hyprland 配置文件
1 | nvim ~/.config/hypr/hyprland.lua |
根据提示将 hl.config({ autogenerated = true }) 这行删除或者注释掉,然后向下找到 ‘MY PROGRAMS’ 部分,将默认的 fileManager 改为 thunar,将默认的 menu 改为 fuzzel
然后在 ‘AUTOSTART’ 部分根据提示给 nm-applet,blueman-applet,mako,hyprpaper,hypridle,waybar,wl-paste --type text --watch cliphist store,wl-paste --type image --watch cliphist store 设置开机自启
1 | hl.on("hyprland.start", function() |
接着可以修改一些快捷键,这里仅供参考
1 | hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(terminal)) -- 打开终端 |
现在可以通过 start-hyprland 指令进入图形界面,或重启电脑后通过 greetd 进入 hyprlogin 登录界面
1 | start-hyprland |
配置中文环境
首先安装一些中文字体
1 | sudo pacman -S adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts noto-fonts-cjk wqy-zenhei wqy-microhei |
然后安装输入法
1 | sudo pacman -S fcitx5 fcitx5-configtool fcitx5-chinese-addons fcitx5-pinyin-zhwiki fcitx5-gtk fcitx5-qt |
配置环境变量
1 | echo 'LANG=zh_CN.UTF-8' >> ~/.config/locale.conf |
1 | GTK_IM_MODULE=fcitx |
然后编辑 ~/.config/hypr/hyprland.lua 让 fcitx5 -d --replace 开机自动运行
运行 fcitx5 -d 然后用 fcitx5-configtool 配置 pinyin 输入法及外观快捷键等
1 | fcitx5 -d && fcitx5-configtool |
重启之后环境变量生效就可以正常输入中文了
一些小装修
配置 kmscon
Arch Linux 中默认的 tty1~6 都是 agetty,不支持矢量字体、硬件加速和中文等,这里可以更换为 kmscon
安装 kmscon
1 | sudo pacman -S kmscon |
给 kmscon 配置合适的字体,这里以英文 JetBrains Mono 和中文 Noto Sans Mono CJK SC 演示
1 | sudo nvim /etc/kmscon/kmscon.conf |
找到 font-engine,从 freetype 改为 pango,然后找到 font-size 改为合适的值,我这里是 36,再找到 font-name,设置为想要的字体,然后保存并退出
1 | font-engine=pango |
保险起见,这里保留 tty1 为 agetty, tty2~6 替换为 kmscon
1 | sudo systemctl disable --now getty@tty2 getty@tty3 getty@tty4 getty@tty5 getty@tty6 |
配置 kitty 的字体
编辑 ~/.config/kitty/kitty.conf 然后保存并退出
1 | nvim ~/.config/kitty/kitty.conf |
1 | font_family JetBrains Mono |
配置软件字体
首先设置全局
1 | sudo nvim /etc/fonts/local.conf |
1 |
|
保存后刷新
1 | fc-cache -fv |
再设置 GTK
使用 ngw-look 将字体选择为 Noto Sans CJK SC Regular 9
最后设置 QT
使用 qt6ct 将一般字体选择为 Noto Sans CJK SC Regular 9;再将固定宽度字体选择为 JetBrains Mono Regular 9
配置 zsh
安装 zsh 及其插件和主题
1 | sudo pacman -S zsh zsh-completions zsh-autosuggestions zsh-syntax-highlighting zsh-theme-powerlevel10k-git ttf-meslo-nerd powerline-fonts awesome-terminal-fonts |
进入配置页面之后根据引导进行配置,如果没有进入的话,执行以下指令
1 | p10k configure |
配置完毕后启用插件
1 | nvim ~/.zshrc |
在 .zshrc 中添加
1 | source /usr/share/zsh/plugins/zsh-sudo/sudo.plugin.zsh |
设置 “暗色模式”
首先设置 GTK
安装暗色主题
1 | sudo pacman -S gnome-themes-extra ngw-look |
设置暗色主题
1 | gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' |
以上指令可以添加到 ~/.config/hypr/hyprland.lua 的开机自动运行里
然后使用 ngw-look 来设置外观,导出配置文件
然后设置 QT
安装 qt6ct 和 kvantummanager
1 | sudo pacman -S qt6ct kvantum |
在 ~/.config/hypr/hyprland.lua 中设置环境变量,找到 ‘ENVIRONMENT VARIABLES’ 部分,添加 hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") 和 hl.env("QT_QPA_PLATFORM", "wayland")
使用 kvantummanager 设置主题,这里设为 KvGnomeDark 保存
接着打开 qt6ct 设置风格为 kvantum-dark,颜色方案为 darker
最后关心一下特立独行的 fuzzel
1 | mkdir ~/.config/fuzzel |
1 | [colors] |
配置锁屏
将 github 上的默认配置文件 下载到 ~/.config/hypr/hyprlock.conf
然后编辑 ~/.config/hypr/hyprland.lua 设置快捷键
1 | nvim ~/.config/hypr/hyprland.lua |
1 | hl.bind(mainMod .. " + L" , hl.dsp.exec_cmd("hyprlock")) |
1 | hyprctl reload |
然后就可以使用 SUPER+L 键锁屏了
接下来配置自动锁屏
hypridle 的默认配置文件在 github 这里简单做一个参考
1 | nvim ~/.config/hypr/hypridle.conf |
1 | general { |
配置 mako
编辑配置文件
1 | mkdir ~/.config/mako |
1 | font=Noto Sans CJK SC |
重新启动 mako
1 | killall mako && mako & disown |
使用 notify-send 指令测试效果
1 | notify-send hello |
配置剪切板
编辑 ~/.config/hypr/hyprland.lua
1 | nvim ~/.config/hypr/hyprland.lua |
1 | hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("cliphist list | fuzzel --dmenu | cliphist decode | wl-copy")) |
保存并退出,然后重载 hyprland
1 | hyprctl reload |
之后就可以用 SUPER+V 唤起历史剪切板