主要讲解安装完后的 archlinux 如何配置各种点文件。
注意文章时效性(不会一直更新)。
管理点文件
这是一个令人相当头疼的问题,我曾写过一个点文件的管理器,但是相当依赖我自己的配置,而且点文件变化很大,管理起来太费心费力,几乎没怎么用就废弃了那个点文件管理器。
后面发现了 chezmoi 这个工具,它有很多优点,但是,用它来管理各种各样的点文件依旧费心费力。所以,我采取了只是备份的方案,只要 chezmoi 上传我的一台电脑的配置到 github 即可。
多余的什么模板文件统统不需要。在传给其他电脑时,只用复制粘贴即可。虽然这个方法看上去简陋,但我认为相比于所谓的“智能化”管理都要方便。而且,因为刚开始使用 archlinux 的时候经常重装,所有配置尽量使用一些默认的方案。
Terminal Emulator
一些可选项:
- konsole
- wezterm
- ghostty
- kitty
- alacritty
- warp
选择终端一般考虑:启动速度、跨平台、自定义扩展、分屏/标签页、字体/emoji支持、是否可以渲染图像(可能会考虑吧)
根据 gpt 生成的一张对比表格(不保证准确):
终端 | 渲染方式 | 启动速度 | 分屏/标签页 | 跨平台 | 字体/Emoji/Ligature | 图像渲染 | 配置方式 | 适用场景 |
---|---|---|---|---|---|---|---|---|
Konsole | CPU渲染 | 中 | 标签页、分屏 | Linux/KDE专用 | 基本支持 | 否 | GUI + 配置文件 | KDE 桌面集成、日常开发 |
Kitty | GPU加速 | 快 | 内置分屏、标签页 | Linux/Windows/macOS | 支持 ligature & emoji | 是 | 文本配置文件(热重载) | 日常开发、高性能需求 |
WezTerm | GPU加速 | 快 | 分屏、标签页 | 跨平台 | 支持 ligature & emoji | 是 | Lua 配置文件 | 跨平台开发、高性能 |
Alacritty | GPU加速 | 很快 | 无(需 tmux 配合) | 跨平台 | 支持 ligature & emoji | 否 | YAML 配置文件 | 高性能开发、轻量终端 |
Ghostty | 浏览器渲染 | 中 | 取决前端 | 跨平台 | 依赖浏览器 | 部分 | 服务端 + 配置 | 远程管理、Web终端 |
Warp | GPU加速 | 很快 | 标签页、分屏 | Linux/macOS/Windows Beta | 支持 ligature & emoji | 是 | GUI + 插件扩展 | 团队协作、开发者友好 |
我目前主要在使用 kitty(由于kitty可以分标签页,基本替代了tmux和zellij这类分屏器,所以后者我目前很少使用)
主题使用 catppuccin,有官方给的现成的配置文件,开箱即用
一个使用配置文件的命令例子:
1 | mkdir -p ~/.config/kitty |
Shell
一些可选项:
- bash
- zsh
- fish
- dash
其他的没怎么用过,fish 由于有些参数不太支持,archlinux 上退回了 zsh。又因为 macos 默认使用 zsh,现在感觉还是 zsh 最好,配置也比较通用。
关于 ~/.zshrc
一些奇奇怪怪的关于 zsh 自身的配置几乎不用,主要还是需要使用各种各样的命令和配置环境变量。
从实用性来说,我最常用的一个是 alias
,一个是 export
,比如:
1 | alias -g copy="| col -b | pbcopy" |
1 | export VERILATOR_ROOT="/usr/local/bin" |
强烈推荐 autojump
在配置文件中加入:
1 | [[ -s /usr/share/autojump/autojump.zsh ]] && source /usr/share/autojump/autojump.zsh |
另外如果需要写入大一点的函数,我会新建一个 scripts
目录,里面存放各种脚本,然后在 ~/.zshrc
中使用 source
激活。
从美化角度考虑,使用 starship
的 tokyo-night 主题
1 | paru -S starship |
在 ~/.zshrc
最后添加:
1 | eval "$(starship init zsh)" |
还可以把 x-cmd 当成拓展来使用:
1 | [ ! -f "$HOME/.x-cmd.root/X"] || . "$HOME/.x-cmd.root/X" |
花里胡哨的,但用来了解还有哪些终端命令有点用
font and icons
ttf-nerd-fonts-symbols
ttf-nerd-fonts-symbols-common
maple mono
自动刷新字体缓存
手动刷新需要执行命令:
1 | fc-cache -fv |
可以在 /etc/pacman.d/hooks
目录下创建 hook 文件,每次安装字体文件后自动刷新(GPT生成):
1 | [Trigger] |