跳转到内容

配置文件

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 和姓名/email 自动补全。更改后请务必运行 omarchy-restart-xcompose。

如果你最终为了调整自己的设置而做了大量更改,最好备份所有这些 dotfiles。Stow 是一个很好的方法。

如果你希望某些东西在每次登录时运行 —— 一个同步守护进程、一个聊天应用程序、你自己的脚本 —— 把它放进 ~/.config/hypr/autostart.lua:

o.launch_on_start("my-service")

这会将命令作为会话的一部分启动,因此当你再次注销时它会被正确清理。

Omarchy 会在若干时刻触发钩子,你可以将自己的脚本挂接到它们上面。它们位于 ~/.config/omarchy/hooks/<event>.d/,每个事件一个目录,其中的每个可执行文件都会在事件发生时运行:

事件 执行时机
post-boot 桌面启动后立即运行
post-update 在 omarchy update 接近结束时,位于软件包更新、迁移和服务重启之后,mise 工具更新之前
pre-refresh-pacman 在 omarchy refresh pacman 重新同步软件包配置之后、更新软件包之前;切换通道时,也会在同一个刷新步骤中执行
theme-set 在主题更改之后(主题名称在 $1 中)
font-set 在字体更改之后(字体名称在 $1 中)
battery-low 当电量变低时(百分比在 $1 中)

自定义仓库或 IgnorePkg 配置行应放在 pre-refresh-pacman 钩子中,因为它会在软件包事务开始前执行。这两个与更新相关的钩子都会在 Omarchy 清除缓存的 sudo 授权后,以你的用户身份运行。因此,使用 sudo 的钩子需要单独获得授权,可能会要求你输入密码。

这些目录中的每一个都已经包含一个 .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,你就会覆盖该行而不是添加新行。该文件随附时已将所有可用字段作为注释记录在案。

添加你自己的 Shell 导出、函数和别名

Section titled “添加你自己的 Shell 导出、函数和别名”

Omarchy 随附了大量符合人体工学的别名和有用的函数,但添加你自己的内容非常常见。你应该在 ~/.bashrc 中添加别名、函数和导出。此文件在更新时不会被覆盖。如果你想更改任何 Omarchy 默认值,也可以安全地在此处添加。

听着,这是你的电脑。你可以对它做任何你想做的事,但我建议不要直接更改 /usr/share/omarchy 中的文件。它们属于 Omarchy pacman 软件包,因此你的更改会在下次更新时被直接覆盖。你最好改为在 ~/.config/* 文件夹中覆盖任何你不喜欢的默认值。

你可以通过这种方式更改几乎一切内容,比如默认快捷键。只需编辑 ~/.config/hypr/bindings.lua,比如说,将 Obsidian 替换为 Joplin(使用 omarchy-pkg-add joplin-bin 安装):

o.rebind("SUPER + SHIFT + O", "Joplin", "joplin-desktop")

o.rebind 会在添加替代绑定之前移除现有绑定。它接受与 o.bind 相同的参数,包括启动辅助程序和绑定选项。使用 o.bind 添加绑定,或使用 hl.unbind 移除绑定而不替换它。

如果你坚持要修改 Omarchy 内部文件,请通过 更新 > Channel > Dev 切换到 dev 频道。这会将 Omarchy 链接到 ~/omarchy 中源代码的 git 检出,你可以随意更改。这里没人会告诉你该怎么做!

如果你最终把配置弄得一团糟,你始终可以通过 Omarchy 菜单中的 更新 > Config 将它们恢复为默认值。或者运行 omarchy reinstall configs 来重置一切。