Към съдържанието

Dotfiles

OmarOS се конфигурира предимно чрез така наречените dotfiles, които живеят в ~/.config. Те се считат за ваши файлове за вашите промени. Файловете, които живеят в /usr/share/omaros, принадлежат на самия OmarOS и не трябва да се занимавате с тях. Ако трябва да промените нещо в /usr/share/omaros, трябва вместо това да презапишете стойността в ~/.config.

Ключовите конфигурации могат да се редактират директно от менюто на OmarOS (Super + Space), като например Настройка > Монитори, Настройка > Клавишни комбинации, Настройка > Въвеждане и Настройка > Config > [file]. Когато го правите по този начин, всеки процес, който трябва да се рестартира автоматично след редактиране на конфигурацията, ще бъде рестартиран, след като излезете от редактора (Neovim по подразбиране — :wq, помнете! — но можете да го промените чрез Настройка > 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 Дефинира вашите емоджита за бърз достъп и автоматичното довършване на име/имейл. Уверете се, че стартирате omaros-restart-xcompose след промени.

Ако в крайна сметка направите много промени, за да настроите собствената си конфигурация, добра идея е да архивирате всички тези dotfiles. 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. Позициите се ключоват по идентификатор с точки и идентификаторът е това, което ги поставя в дървото, така че 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("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, за да нулирате всичко.