Dotfiles¶
O OmarOS é configurado principalmente pelos chamados dotfiles que ficam em ~/.config. Eles são considerados seus arquivos, para suas alterações. Os arquivos que ficam em /usr/share/omaros pertencem ao próprio OmarOS, e você não deve mexer neles. Se você precisar alterar qualquer coisa em /usr/share/omaros, deverá sobrescrever o valor em ~/.config.
As configurações principais podem ser editadas direto do menu do OmarOS (Super + Space), como Configuração > Monitores, Configuração > Atalhos de teclado, Configuração > Entrada e Setup > Config > [file]. Quando você faz isso dessa maneira, qualquer processo que precise ser reiniciado depois das edições de configuração automaticamente será depois que você sair do editor (o Neovim por padrão — :wq, lembre-se! — mas você pode alterar isso em Setup > Defaults > Editor).
Aqui está uma lista dos principais arquivos em ~/.config e o que eles controlam:
| Arquivo | Finalidade |
|---|---|
~/.config/hypr/hyprland.lua |
A configuração principal do Hyprland. Carrega os padrões do OmarOS mais seus arquivos de substituição abaixo. Saiba mais sobre as configurações do Hyprland. |
~/.config/hypr/bindings.lua |
Seus próprios atalhos de teclado e substituições dos padrões. |
~/.config/hypr/monitors.lua |
Controla seus monitores, resolução e posição. |
~/.config/hypr/input.lua |
Controla seu layout de teclado, mouse e configurações do trackpad. |
~/.config/hypr/looknfeel.lua |
Controla espaçamentos, bordas, animações e o restante do visual. |
~/.config/hypr/autostart.lua |
Controla processos extras iniciados com a sessão. |
~/.config/omaros/shell.json |
Controla o shell do OmarOS: posição da barra, layout e widgets, além de tempos de proteção de tela, bloqueio e ociosidade. |
~/.config/foot/foot.ini |
Controla seu terminal (o foot é o padrão). |
~/.XCompose |
Define seu acesso rápido a emoji e preenchimento automático de nome/e-mail. Não se esqueça de executar omaros-restart-xcompose depois de fazer alterações. |
Se você acabar fazendo muitas alterações para ajustar sua própria configuração, é uma boa ideia fazer backup de todos esses dotfiles. O Stow é uma ótima maneira de fazer isso.
Iniciando seus próprios aplicativos com a sessão¶
Se você quiser que algo seja executado toda vez que fizer login — um daemon de sincronização, um aplicativo de chat, seu próprio script — coloque-o em ~/.config/hypr/autostart.lua:
Isso inicia o comando como parte da sessão, então ele é devidamente limpo quando você fizer logout de novo.
Executando scripts em eventos do sistema¶
O OmarOS dispara ganchos em alguns momentos, e você pode pendurar seus próprios scripts neles. Eles ficam em ~/.config/omaros/hooks/<event>.d/, um diretório por evento, e todos os arquivos executáveis ali são executados quando o evento acontece:
| Evento | Quando é executado |
|---|---|
post-boot |
Logo depois que a área de trabalho foi iniciada |
post-update |
Perto do fim de omaros update, depois dos pacotes, das migrações e das reinicializações de serviço, antes de as ferramentas do mise serem atualizadas |
pre-refresh-pacman |
Depois que omaros refresh pacman ressincroniza a configuração de pacotes, antes de atualizar os pacotes; uma troca de canal o executa durante essa mesma etapa de atualização |
theme-set |
Depois de uma alteração de tema (nome do tema em $1) |
font-set |
Depois de uma alteração de fonte (nome da fonte em $1) |
battery-low |
Quando a bateria está baixa (porcentagem em $1) |
O gancho pre-refresh-pacman é onde repositórios personalizados ou linhas IgnorePkg pertencem, pois ele é executado antes da transação de pacotes. Os dois ganchos relacionados a atualizações são executados como seu usuário depois que o OmarOS limpa sua autorização sudo em cache, então um gancho que usa sudo precisa de sua própria autorização e pode pedir sua senha.
Cada um desses diretórios já contém um arquivo .sample mostrando o formato de um gancho — retire o .sample do nome para colocá-lo para trabalhar. Para instalar um script que você escreveu em outro lugar, use omaros hook install post-boot ~/my-hook, o que o copia e o torna executável.
Adicionando suas próprias entradas de menu¶
O menu do OmarOS (Super + Space) pode ser estendido com suas 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, então 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"},
Reutilize um id existente e você substituirá aquela linha em vez de adicionar uma nova. O arquivo vem com todos os campos disponíveis documentados como comentários.
Adicionando suas próprias exportações, funções e aliases de shell¶
O OmarOS vem com vários aliases ergonômicos e funções úteis, mas é muito comum querer adicionar os seus próprios. Você deve adicionar aliases, funções e exportações em ~/.bashrc. Esse arquivo não será sobrescrito nas atualizações. Se você quiser alterar qualquer um dos padrões do OmarOS, também poderá adicioná-los aqui com segurança.
Alterando arquivos internos do OmarOS¶
Olha, este é o seu computador. Você pode fazer o que quiser com ele, mas eu desaconselharia fazer alterações nos arquivos em /usr/share/omaros diretamente. Eles pertencem ao pacote pacman do OmarOS, então suas alterações serão simplesmente sobrescritas na próxima atualização. É melhor apenas sobrescrever quaisquer valores padrão de que você não goste na pasta ~/.config/*.
Você pode alterar praticamente tudo dessa maneira, como os atalhos de teclado padrão. Basta editar ~/.config/hypr/bindings.lua para, digamos, substituir o Obsidian pelo Joplin (instale com omaros-pkg-add joplin-bin):
o.rebind remove a vinculação existente antes de adicionar sua substituição. Ele recebe os mesmos argumentos que o.bind, incluindo auxiliares de inicialização e opções de vinculação. Use o.bind para adicionar uma vinculação, ou hl.unbind para remover uma sem substituí-la.
Se você insistir em mexer nos arquivos internos do OmarOS, mude para o canal dev por Atualizar > Canal > Dev. Isso vincula o OmarOS a um checkout git do código-fonte em ~/omaros, que você está livre para alterar quanto quiser. Não tem ninguém aqui para lhe dizer o que fazer!
Redefinindo quaisquer alterações¶
Se você acabar fazendo uma bagunça nas configurações, sempre poderá revertê-las para os padrões por Atualizar > Configuração no menu do OmarOS. Ou executando omaros reinstall configs para redefinir tudo.