Dotfiles¶
OmarOS 主要通过位于 ~/.config 中的所谓 dotfiles 进行配置。这些被视为你自己的文件,供你更改。位于 /usr/share/omaros 中的文件属于 OmarOS 本身,你不应该动那些。如果你需要更改 /usr/share/omaros 中的任何内容,你应该改为在 ~/.config 中覆盖该值。
关键配置可以直接从 OmarOS 菜单(Super + Space)编辑,如 Setup > Monitors、Setup > Keybindings、Setup > Input 和 Setup > Config > [file]。当你以这种方式操作时,任何需要在配置编辑后重启的进程都会在你退出编辑器后自动重启(默认 Neovim——记住 :wq!——但你可以通过 Setup > Defaults > Editor 更改)。
以下是 ~/.config 中的关键文件及其控制内容的列表:
| File | Purpose |
|---|---|
~/.config/hypr/hyprland.lua |
主要的 Hyprland 配置。加载 OmarOS 默认值以及你下面的覆盖文件。了解更多关于 Hyprland 配置的信息。 |
~/.config/hypr/bindings.lua |
你自己的快捷键和对默认设置的覆盖。 |
~/.config/hypr/monitors.lua |
控制你的显示器、分辨率和位置。 |
~/.config/hypr/input.lua |
控制你的键盘布局、鼠标和触控板设置。 |
~/.config/hypr/looknfeel.lua |
控制间距、边框、动画和外观的其余部分。 |
~/.config/hypr/autostart.lua |
控制随会话启动的额外进程。 |
~/.config/omaros/shell.json |
控制 OmarOS shell:栏位置、布局和小部件,加上屏保、锁定和空闲计时。 |
~/.config/foot/foot.ini |
控制你的终端(foot 是默认终端)。 |
~/.XCompose |
定义你的快速访问表情符号和姓名/邮箱自动完成。更改后务必运行 omaros-restart-xcompose。 |
如果你最终对自己的设置做了很多微调,备份所有这些 dotfiles 是个好主意。Stow 是一个很好的方法。
随会话启动你自己的应用¶
如果你想让某些东西在每次登录时运行——一个同步守护进程、一个聊天应用、你自己的脚本——将其放入 ~/.config/hypr/autostart.lua:
这会将该命令作为会话的一部分启动,所以当你再次注销时,它会被妥善清理。
在系统事件上运行脚本¶
OmarOS 在几个时刻触发钩子,你可以将自己的脚本挂在它们上面。它们位于 ~/.config/omaros/hooks/<event>.d/,每个事件一个目录,事件发生时其中的每个可执行文件都会运行:
| Event | When it runs |
|---|---|
post-boot |
就在桌面启动之后 |
post-update |
在 omaros update 快结束时,在软件包、迁移和服务重启之后,在 mise 工具更新之前 |
pre-refresh-pacman |
在 omaros refresh pacman 重新同步软件包配置之后,在它更新软件包之前;切换通道会在同一次刷新步骤中运行它 |
theme-set |
在主题更改之后(主题名在 $1 中) |
font-set |
在字体更改之后(字体名在 $1 中) |
battery-low |
当电池电量低时(百分比在 $1 中) |
pre-refresh-pacman 钩子是自定义仓库或 IgnorePkg 行应该放的地方,因为它在软件包事务之前运行。这两个与更新相关的钩子都在 OmarOS 清除其缓存的 sudo 授权之后以你的用户身份运行,所以使用 sudo 的钩子需要自己的授权,可能会要求你输入密码。
这些目录中的每个都已包含一个 .sample 文件,展示了一个钩子的样子——从名称中去掉 .sample 就能让它工作。要安装你在别处写好的脚本,使用 omaros hook install post-boot ~/my-hook,它会将其复制进去并使其可执行。
添加你自己的菜单条目¶
OmarOS 菜单(Super + Space)可以通过编辑 ~/.config/omaros/extensions/omaros-menu.jsonc 来扩展,加入你自己的行。条目以点分隔的 id 为键,而正是这个 id 将它们放置在树中,所以 personal 显示在根菜单上,personal.notes 显示在它内部:
"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"","label":"Notes","action":"omaros-launch-editor ~/notes"},
复用已有的 id,你就会覆盖那一行,而不是添加新的一行。该文件附带了以注释形式记录的所有可用字段。
添加你自己的 shell 导出、函数和别名¶
OmarOS 附带了一大堆人体工程学的别名和有用的函数,但想要添加你自己的非常常见。你应该将别名、函数和导出都添加到 ~/.bashrc。此文件在更新时不会被覆盖。如果你想更改任何 OmarOS 默认值,你也可以安全地在这里添加。
更改内部 OmarOS 文件¶
听着,这是你的电脑。你可以随心所欲地使用它,但我建议不要直接更改 /usr/share/omaros 中的文件。它们属于 OmarOS pacman 软件包,所以你的更改只会在下一次更新时被覆盖。你最好只在 ~/.config/* 文件夹中覆盖任何你不喜欢的默认值。
你可以通过这种方式更改几乎一切,比如默认快捷键。只需编辑 ~/.config/hypr/bindings.lua,例如将 Obsidian 替换为 Joplin(用 omaros-pkg-add joplin-bin 安装):
o.rebind 在添加其替代项之前删除现有的绑定。它接受与 o.bind 相同的参数,包括启动辅助函数和绑定选项。使用 o.bind 添加绑定,或使用 hl.unbind 删除绑定而不替换它。
如果你坚持要改内部 OmarOS 文件,通过 Update > Channel > Dev 切换到 dev 通道。这将 OmarOS 链接到 ~/omaros 中源代码的 git 检出,你可以随心所欲地更改。这里没人会告诉你该做什么!
重置任何更改¶
如果你最终把配置弄得一团糟,你随时可以通过 OmarOS 菜单中的 Update > Config 将它们还原为默认值。或者运行 omaros reinstall configs 来重置一切。