Дотфайлы¶
OmarOS в основном настраивается через так называемые дотфайлы, которые живут в ~/.config. Они считаются вашими файлами для ваших изменений. Файлы, которые живут в /usr/share/omaros, принадлежат самой OmarOS, и вам не стоит с ними возиться. Если нужно изменить что-то в /usr/share/omaros, вместо этого следует переопределить значение в ~/.config.
Ключевые конфигурации можно редактировать прямо из меню OmarOS (Super + Space), например Настройка > Мониторы, Настройка > Сочетания клавиш, Настройка > Ввод и 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: позицией панели, раскладкой и виджетами, плюс таймингами заставки, блокировки и простоя. |
~/.config/foot/foot.ini |
Управляет вашим терминалом (foot — вариант по умолчанию). |
~/.XCompose |
Определяет ваши эмодзи быстрого доступа и автодополнение имени/email. Не забудьте выполнить omaros-restart-xcompose после внесения изменений. |
Если вы в итоге вносите много изменений, чтобы настроить свою систему, хорошая идея — сделать резервную копию всех этих дотфайлов. 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 — и вы переопределите эту строку вместо добавления новой. Файл поставляется со всеми доступными полями, задокументированными в виде комментариев.
Добавление собственных экспортов, функций и alias оболочки¶
OmarOS поставляется с кучей эргономичных alias и полезных функций, но очень часто хочется добавить свои собственные. И alias, и функции, и экспорты следует добавлять в ~/.bashrc. Этот файл не будет перезаписан при обновлениях. Если вы хотите изменить какое-либо из умолчаний OmarOS, их также можно безопасно добавить сюда.
Изменение внутренних файлов OmarOS¶
Слушайте, это ваш компьютер. Вы можете делать с ним всё что хотите, но я бы посоветовал не вносить изменения в файлы в /usr/share/omaros напрямую. Они принадлежат пакету pacman OmarOS, поэтому ваши изменения просто будут перезаписаны при следующем обновлении. Вам лучше просто переопределить любые значения по умолчанию, которые вам не нравятся, в папке ~/.config/*.
Таким способом можно изменить почти всё, например сочетания клавиш по умолчанию. Просто отредактируйте ~/.config/hypr/bindings.lua, чтобы, скажем, заменить Obsidian на Joplin (установить командой omaros-pkg-add joplin-bin):
o.rebind удаляет существующую привязку перед добавлением её замены. Он принимает те же аргументы, что и o.bind, включая помощники запуска и параметры привязки. Используйте o.bind, чтобы добавить привязку, или hl.unbind, чтобы удалить привязку без замены.
Если вы настаиваете на взломе внутренних файлов OmarOS, переключитесь на канал dev через Обновление > Channel > Dev. Это свяжет OmarOS с git-копией исходного кода в ~/omaros, которую вы вольны изменять сколько душе угодно. Никто здесь не будет указывать вам, что делать!
Сброс любых изменений¶
Если вы в итоге устроили беспорядок в конфигурациях, их всегда можно вернуть к умолчаниям через Обновление > Config в меню OmarOS. Или выполнив omaros reinstall configs, чтобы сбросить всё.