Ir para o conteúdo

Dotfiles

O OmarOS é sobretudo configurado através dos chamados dotfiles que vivem em ~/.config. Esses são considerados os teus ficheiros, para as tuas alterações. Os ficheiros que vivem em /usr/share/omaros pertencem ao próprio OmarOS, e não deves andar a mexer neles. Se precisares de alterar alguma coisa em /usr/share/omaros, deves antes substituir o valor em ~/.config.

As configurações principais podem ser editadas diretamente a partir do menu OmarOS (Super + Space), como Configurar > Ecrãs, Configurar > Atalhos, Configurar > Entrada e Configurar > Configuração > [ficheiro]. Quando o fazes desta forma, qualquer processo que precise de ser reiniciado automaticamente depois de edições de configuração sê-lo-á depois de saíres do editor (Neovim por predefinição — :wq, lembra-te! —, mas podes alterar isso em Configurar > Predefinições > Editor).

Eis uma lista dos ficheiros principais em ~/.config e daquilo que controlam:

Ficheiro Finalidade
~/.config/hypr/hyprland.lua A configuração principal do Hyprland. Carrega as predefinições do OmarOS mais os teus ficheiros de substituição abaixo. Sabe mais sobre as configurações do Hyprland.
~/.config/hypr/bindings.lua Os teus próprios atalhos e substituições das predefinições.
~/.config/hypr/monitors.lua Controla os teus monitores, resolução e posição.
~/.config/hypr/input.lua Controla o esquema do teu teclado, rato e definições do painel tátil.
~/.config/hypr/looknfeel.lua Controla espaçamentos, contornos, animações e o resto do aspeto.
~/.config/hypr/autostart.lua Controla processos extra iniciados com a sessão.
~/.config/omaros/shell.json Controla a shell do OmarOS: posição da barra, disposição e widgets, mais os tempos de proteção de ecrã, bloqueio e inatividade.
~/.config/foot/foot.ini Controla o teu terminal (o foot é o predefinido).
~/.XCompose Define os teus emoji de acesso rápido e o preenchimento automático de nome/e-mail. Certifica-te de que executas omaros-restart-xcompose depois de fazeres alterações.

Se acabares por fazer muitas alterações para ajustares a tua própria configuração, é boa ideia fazeres uma cópia de segurança de todos estes dotfiles. O Stow é uma ótima forma de o fazer.

Iniciar as tuas próprias aplicações com a sessão

Se quiseres que alguma coisa corra sempre que iniciares sessão — um daemon de sincronização, uma aplicação de chat, o teu próprio script —, coloca-a em ~/.config/hypr/autostart.lua:

o.launch_on_start("my-service")

Isso inicia o comando como parte da sessão, por isso é devidamente limpo quando terminares sessão outra vez.

Executar scripts em eventos do sistema

O OmarOS dispara hooks num punhado de momentos, e podes pendurar neles os teus próprios scripts. Vivem em ~/.config/omaros/hooks/<event>.d/, um diretório por evento, e todos os ficheiros executáveis lá dentro correm quando o evento acontece:

Evento Quando corre
post-boot Logo depois de o ambiente de trabalho ter arrancado
post-update Perto do fim do omaros update, depois dos pacotes, das migrações e dos reinícios de serviços, antes de as ferramentas mise serem atualizadas
pre-refresh-pacman Depois de o omaros refresh pacman voltar a sincronizar a configuração de pacotes, antes de atualizar os pacotes; uma mudança de canal executa-o durante esse mesmo passo de atualização
theme-set Depois de uma mudança de tema (nome do tema em $1)
font-set Depois de uma mudança de tipo de letra (nome do tipo de letra em $1)
battery-low Quando a bateria fica fraca (percentagem em $1)

O hook pre-refresh-pacman é onde pertencem repositórios personalizados ou linhas IgnorePkg, uma vez que corre antes da transação de pacotes. Ambos os hooks relacionados com atualizações correm como o teu utilizador depois de o OmarOS limpar a sua autorização sudo em cache, por isso um hook que use sudo precisa da sua própria autorização e pode pedir-te a palavra-passe.

Cada um desses diretórios já contém um ficheiro .sample que mostra a forma de um hook — retira o .sample do nome para o pores a trabalhar. Para instalares um script que escreveste noutro sítio, usa omaros hook install post-boot ~/my-hook, o que o copia para lá e o torna executável.

Adicionar as tuas próprias entradas de menu

O menu OmarOS (Super + Space) pode ser alargado com as tuas próprias linhas editando ~/.config/omaros/extensions/omaros-menu.jsonc. As entradas são identificadas por um id com pontos, e é o id que as coloca na árvore, por isso personal aparece no menu raiz e personal.notes aparece dentro dele:

"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"󰎞","label":"Notes","action":"omaros-launch-editor ~/notes"},

Reutiliza um id existente e substituis essa linha em vez de adicionares uma nova. O ficheiro vem com todos os campos disponíveis documentados como comentários.

Adicionar as tuas próprias exportações, funções e aliases de shell

O OmarOS vem com uma série de aliases ergonómicos e funções úteis, mas é muito comum quereres adicionar os teus próprios. Deves adicionar aliases, funções e exportações em ~/.bashrc. Este ficheiro não será substituído nas atualizações. Se quiseres alterar alguma das predefinições do OmarOS, também as podes adicionar aqui em segurança.

Alterar ficheiros internos do OmarOS

Repara, este é o teu computador. Podes fazer com ele o que quiseres, mas aconselho-te a não fazeres alterações diretamente aos ficheiros em /usr/share/omaros. Pertencem ao pacote pacman do OmarOS, por isso as tuas alterações serão simplesmente substituídas na próxima atualização. Ficas melhor servido se substituíres apenas, na pasta ~/.config/*, quaisquer valores predefinidos de que não gostes.

Podes alterar praticamente tudo dessa forma, como os atalhos predefinidos. Basta editares ~/.config/hypr/bindings.lua para, digamos, substituíres o Obsidian pelo Joplin (instala com omaros-pkg-add joplin-bin):

o.rebind("SUPER + SHIFT + O", "Joplin", "joplin-desktop")

O o.rebind remove a associação existente antes de adicionar a sua substituição. Aceita os mesmos argumentos que o o.bind, incluindo auxiliares de arranque e opções de associação. Usa o o.bind para adicionares uma associação, ou o hl.unbind para removeres uma sem a substituíres.

Se insistires em mexer nos ficheiros internos do OmarOS, muda para o canal dev em Atualizar > Canal > Dev. Isso liga o OmarOS a um checkout git do código-fonte em ~/omaros, que estás livre de alterar como te apetecer. Não há aqui ninguém para te dizer o que fazer!

Repor quaisquer alterações

Se acabares por fazer uma confusão nas configurações, podes sempre revertê-las para as predefinições em Atualizar > Configuração no menu OmarOS. Ou executando omaros reinstall configs para repor tudo.