点文件与配置管理 (Dotfiles)
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。 |
如果你对系统做了大量个性化微调,备份这些点文件是一个好习惯。GNU Stow 是进行配置备份管理的优秀工具。
随桌面会话自启动应用
如果你希望某些程序在每次登录时自动运行(如同步守护进程、聊天工具或自定义脚本),可将其写入 ~/.config/hypr/autostart.lua:
o.launch_on_start("my-service")
这样会将该命令作为桌面会话的一部分启动,并在你注销登录时被正确清理。
在系统事件发生时执行脚本 (Hooks)
Omarchy 在特定系统事件节点会触发钩子 (Hooks),你可以将自定义脚本挂载到这些节点上。它们存放在 ~/.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,这会自动将其拷贝至对应目录并添加可执行权限。
添加自定义菜单项
通过编辑 ~/.config/omarchy/extensions/omarchy-menu.jsonc,你可以向 Omarchy 菜单 (Super + Space) 中添加自定义条目。菜单条目通过以点分隔的 id 进行层级索引定位,例如 personal 会出现在根菜单上,而 personal.notes 则会作为其子菜单项展示:
"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"","label":"Notes","action":"omarchy-launch-editor ~/notes"},
如果复用已有的 id,则会直接覆盖该系统默认菜单项而非新增。该文件中已附带详细的字段注释说明。
添加自定义 Shell 环境变量、函数与别名
Omarchy 自带了许多符合人体工程学的别名和实用函数,但用户通常也希望添加自己的内容。你应该将自定义的别名 (Aliases)、函数 (Functions) 和环境变量导出 (Exports) 添加到 ~/.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 源码仓库,你可以随心所欲地对其进行二次开发。
重置并恢复默认配置
如果你不小心搞乱了配置文件,随时可以通过 Omarchy 菜单中的 Update > Config 将其恢复为官方默认值,或者在终端中运行 omarchy reinstall configs 重置全部配置。