Dotfiles
本文译自 The Omarchy Manual — Dotfiles,同步自 basecamp/omarchy@ed7bae4。术语以 TERMS.md 为准。
Omarchy 主要通过住在 ~/.config 的所谓 dotfiles 配置。它们被视为你的文件、承载你的修改。/usr/share/omarchy 里的文件属于 Omarchy 本体,别去乱动。如果需要改动 /usr/share/omarchy 里的东西,正确姿势是去覆盖 ~/.config 里对应的值。
关键配置可以直接从 Omarchy 菜单(Super + Space)编辑,比如 Setup > Monitors、Setup > Keybindings、Setup > Input 和 Setup > Config > [file]。这样改的话,配置修改后需要重启的进程会在你退出编辑器时自动重启(默认编辑器是 Neovim——记得 :wq!——可通过 Setup > Defaults > Editor 更换)。
下面是 ~/.config 中关键文件及其控制范围的清单:
| 文件 | 用途 |
|---|---|
~/.config/hypr/hyprland.lua |
Hyprland 主配置。加载 Omarchy 默认值及下方你的各覆盖文件。深入了解 Hyprland 配置 |
~/.config/hypr/bindings.lua |
你自己的键位绑定与对默认值的覆盖。 |
~/.config/hypr/monitors.lua |
控制显示器、分辨率与摆放位置。 |
~/.config/hypr/input.lua |
控制键盘布局、鼠标与触控板设置。 |
~/.config/hypr/looknfeel.lua |
控制间隙、边框、动画等外观。 |
~/.config/hypr/autostart.lua |
控制随会话启动的额外进程。 |
~/.config/omarchy/shell.json |
控制 Omarchy shell:顶栏位置、布局与小部件,以及屏保、锁屏和空闲计时。 |
~/.config/foot/foot.ini |
控制你的终端(默认 foot)。 |
~/.XCompose |
定义快捷 emoji 与姓名/邮箱自动补全。改动后记得运行 omarchy-restart-xcompose。 |
如果你最终做了大量微调,最好备份这些 dotfiles。Stow 是个很好的办法。
让自己的应用随会话启动
想让某样东西每次登录都运行——同步守护进程、聊天应用、你自己的脚本——放进 ~/.config/hypr/autostart.lua:
o.launch_on_start("my-service")
它会作为会话的一部分启动,注销时也会被妥善清理。
在系统事件上挂脚本
Omarchy 在若干时刻触发钩子(hook),你可以把自己的脚本挂上去。它们位于 ~/.config/omarchy/hooks/<event>.d/,每个事件一个目录,事件发生时其中的每个可执行文件都会运行:
| 事件 | 运行时机 |
|---|---|
post-boot |
桌面启动后立刻 |
post-update |
omarchy update 期间,包与迁移之后 |
pre-refresh-pacman |
omarchy refresh pacman 重新同步包配置之前 |
theme-set |
主题切换后(主题名在 $1) |
font-set |
字体切换后(字体名在 $1) |
battery-low |
电量低时(百分比在 $1) |
每个目录里都已有一个展示钩子形态的 .sample 文件——去掉 .sample 后缀即可启用。要安装写在别处的脚本,用 omarchy hook install post-boot ~/my-hook,它会复制进来并加上可执行权限。
添加你自己的菜单项
Omarchy 菜单(Super + Space)可以通过编辑 ~/.config/omarchy/extensions/omarchy-menu.jsonc 扩展你自己的条目。条目以点分 id 为键,id 决定它在树中的位置:personal 出现在根菜单上,personal.notes 出现在其中:
"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"","label":"Notes","action":"omarchy-launch-editor ~/notes"},
复用已有 id 就是覆盖那一行而不是新增。该文件把所有可用字段都以注释形式写明了。
添加你自己的环境变量、函数和别名
Omarchy 自带一批人体工学别名和实用函数,但想加自己的非常正常。别名、函数和环境变量都应加在 ~/.bashrc。更新不会覆盖这个文件。想改任何 Omarchy 默认值,也可以安全地在这里覆盖。
更改 Omarchy 内部文件
听着,这是你的电脑,你想干嘛都行。但我建议不要直接改 /usr/share/omarchy 里的文件。它们属于 Omarchy pacman 包,你的修改会在下次更新时被直接覆盖。更聪明的做法是在 ~/.config/* 里覆盖你不喜欢的默认值。
几乎所有东西都能这样改,比如默认键位绑定。编辑 ~/.config/hypr/bindings.lua 就能把 Obsidian 换成 Joplin(用 omarchy-pkg-add joplin-bin 安装):
hl.unbind("SUPER + SHIFT + O")
o.bind("SUPER + SHIFT + O", "Joplin", "joplin-desktop")
非要折腾 Omarchy 内部文件不可?经 Update > Channel > Dev 切到 dev 通道。那会把 Omarchy 链接到 ~/omarchy 的源码 git checkout,随便你怎么改心满意足。这儿没人管得着你!
重置所有更改
把配置搞得一团糟时,随时可以从 Omarchy 菜单的 Update > Config 把它们恢复为默认,或运行 omarchy reinstall configs 一键全重置。