Перейти к содержанию

Дотфайлы

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:

o.launch_on_start("my-service")

Это запускает команду как часть сессии, так что она корректно очищается при повторном выходе.

Запуск скриптов по системным событиям

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("SUPER + SHIFT + O", "Joplin", "joplin-desktop")

o.rebind удаляет существующую привязку перед добавлением её замены. Он принимает те же аргументы, что и o.bind, включая помощники запуска и параметры привязки. Используйте o.bind, чтобы добавить привязку, или hl.unbind, чтобы удалить привязку без замены.

Если вы настаиваете на взломе внутренних файлов OmarOS, переключитесь на канал dev через Обновление > Channel > Dev. Это свяжет OmarOS с git-копией исходного кода в ~/omaros, которую вы вольны изменять сколько душе угодно. Никто здесь не будет указывать вам, что делать!

Сброс любых изменений

Если вы в итоге устроили беспорядок в конфигурациях, их всегда можно вернуть к умолчаниям через Обновление > Config в меню OmarOS. Или выполнив omaros reinstall configs, чтобы сбросить всё.