跳转至

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 > MonitorsSetup > KeybindingsSetup > InputSetup > 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 一键全重置。