Dotfiles¶
OmarOS конфігурується переважно через так звані dotfiles, які живуть у ~/.config. Вони вважаються вашими файлами для ваших змін. Файли, які живуть у /usr/share/omaros, належать самому OmarOS, і вам не слід до них лізти. Якщо треба змінити щось у /usr/share/omaros, натомість вам слід перевизначати значення в ~/.config.
Ключові конфіги можна редагувати просто з меню OmarOS (Super + Space), наприклад Налаштування > Монітори, Налаштування > Сполучення клавіш, Налаштування > Введення та Налаштування > Config > [file]. Коли ви робите це так, будь-який процес, який треба перезапустити після правок конфігу, автоматично перезапуститься, щойно ви вийдете з редактора (типово Neovim — :wq, памʼятайте! — але це можна змінити через Налаштування > Типові > Редактор).
Ось список ключових файлів у ~/.config і того, що вони контролюють:
| Файл | Призначення |
|---|---|
~/.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 |
Визначає ваші швидкодоступні емоджі й автодоповнення імені/електронної пошти. Обовʼязково виконуйте omaros-restart-xcompose після внесення змін. |
Якщо ви зрештою внесете багато змін, щоб налаштувати власну систему, усі ці dotfiles є сенс забекапити. Stow — чудовий спосіб це зробити.
Запуск власних застосунків разом із сеансом¶
Якщо хочете, щоб щось запускалося щоразу при вході — демон синхронізації, чат-застосунок, ваш власний скрипт — кладіть це в ~/.config/hypr/autostart.lua:
Це стартує команду як частину сеансу, тож вона як слід прибирається, коли ви знову виходите.
Запуск скриптів на системні події¶
OmarOS стріляє хуками в жменьку моментів, і ви можете вішати на них власні скрипти. Вони живуть у ~/.config/omaros/hooks/<event>.d/, по каталогу на подію, і кожен виконуваний файл там запускається, коли подія стається:
| Подія | Коли запускається |
|---|---|
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. Записи ключуються ідентифікатором із крапками, і саме ідентифікатор ставить їх у дерево, тож personal зʼявляється в кореневому меню, а personal.notes — усередині нього:
"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"","label":"Notes","action":"omaros-launch-editor ~/notes"},
Використайте наново наявний ідентифікатор — і ви перевизначите той рядок, замість того щоб додавати новий. Файл постачається з усіма доступними полями, задокументованими як коментарі.
Додавання власних експортів, функцій і аліасів оболонки¶
OmarOS постачається з купою ергономічних аліасів і корисних функцій, але дуже часто хочеться додати власні. І аліаси, і функції, і експорти слід додавати в ~/.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 через Оновити > Канал > Dev. Це звʼязує OmarOS з git-клоном вихідного коду в ~/omaros, який ви вільні змінювати досхочу. Тут немає нікого, хто вказував би вам, що робити!
Скидання будь-яких змін¶
Якщо ви зрештою зробите безлад у конфігураціях, ви завжди можете повернути їх до типових через Оновити > Config у меню OmarOS. Або виконавши omaros reinstall configs, щоб скинути все.