NixOS: Your system, as a code.
Por volta do dia 27 de Maio, eu decidi deliberadamente começar a usar o sistema NixOS.
Venho desde então o usando todos os dias como meu sistema, e aqui há o meu atual veredito:
-# Os links são imagens
Nix é um sistema avançado do tipo declarativo.
"Sistema Declarativo?"
- O estado do sistema é definido por um arquivo de configuração, garantindo que o ambiente corresponda ao que está declarado.
- Isso faz com que o sistema seja reproduzível, afinal, para replicar o mesmo é somente substituir ou uma linha ou o arquivo inteiro.
- Este arquivo é regerado/atualizado usando de um simples comando.
O Nix tem um gerenciamento de pacotes confiável.
"E oque isso significa?"
- O Nix permite instalar múltiplas versões do mesmo software sem conflitos (dependências isoladas).
- Os pacotes são armazenados no diretório /nix/store com hashes únicos, evitando DLL Hell
O Nix tem um sistema simples de Rollback.
"Como assim?"
- Cada alteração declarada, gera uma nova Generation do sistema, permitindo reverter facilmente para um estado anterior.
O sistema usa de atualizações atômicas.
"Atualizações atômicas?"
- Se algo da errado, o sistema continua funcionando com a versão anterior.
O Nix tem uma quantidade enorme de pacotes disponíveis.
O quão enorme estamos falando?
- O Nixpkgs tem sozinho mais de 120K de pacotes disponíveis, milhares sempre atualizados frequentemente.
Novamente reforçando o ponto do "Your system, as a code.", sua configuração é completamente unificada.
"O quão unificada?"
- Tudo, kernel, serviços, usuários, pacotes, ate mesmo configurações de programas como a aparência de um launcher ou as extensões de um navegador de internet são declaráveis.
- Caso queira organização, pode dividir essas configurações
+

Solution:Jump to solution
(+)
-# Agora as desvantagens:
A curva de aprendizado do Nix é complicada.
"Porque?"...
1 Reply
Solution
(+)
-# Agora as desvantagens:
A curva de aprendizado do Nix é complicada.
"Porque?"
- As configurações do sistema são feitas usando a linguagem Nix. uma linguagem funcional, que a primeiro uso pode ser estranho ou frustante, exigindo um tempinho ate dominar.
- A configuração do sistema pode ser complexa para iniciantes.
- Sobretudo: Nix é uma distro avançada.
Diferente de distros como o Arch Linux, o NixOS peca em documentação.
"Como?"
- A documentação existe, mas muitas vezes é fragmentada, desatualizada e principalmente: Confusa.
- Tanto que existem duas wikis.
As vezes, você se verá compilando.
"Ué?"
- Se um pacote do Nixpkgs não tiver um binário disponível, você se verá compilando-o mesmo, oque pode demorar.
-# Acabei me confundindo nessa.
Configurações adicionais em software proprietário.
Tipo?
- Algumas coisas como drivers NVIDIA e programas como a Steam, podem exigir configuração adicional.
NixOS tem uma comunidade pequena.
"E qual o problema disto?"
- Mesmo que o NixOS venha ficando mais popular, ainda há menos tutoriais e conteúdos dedicados.
- Mas a comunidade é bastante ativa.
Você vai precisar de um disco minimamente grande e de um FS com compressão (como o Btrfs).
"Porque?"
- O diretorio /nix/store é um pouco... gordinho
Não é mainstream, você pode encontrar limitações.
"Como assim?"
- Algumas ferramentas assumem sistemas tradicionais, como systemd convencional e FHS padrão.