NixOS: uma distribuição Linux baseada no Nix

nixos-uma-distribuicao-linux-baseada-no-nix

O NixOS é uma distribuição Linux baseada no sistema de pacotes Nix. O Nix é uma ferramenta que adota uma abordagem única para gerenciamento de pacotes e configuração de sistema. A utilização de um sistema de configuração declarativo permite reprodutibilidade e portabilidade.

NixOS

O NixOS é configurado usando módulos combináveis ??e depende de pacotes definidos no projeto Nixpkgs. Receitas e configurações de pacotes são escritas na “linguagem Nix” desenvolvida para esse fim, que acompanha o gerenciador de pacotes Nix. Seus pacotes imutáveis, fornecendo a eles seu próprio diretório identificado por um hash derivado de TODAS as dependências desse pacote. Isto tem algumas vantagens para os usuários:

  • Torna mais fácil ter múltiplas versões do mesmo pacote instaladas simultaneamente e poder alternar entre elas. Ele aumenta ainda mais a reprodutibilidade usando um arquivo de bloqueio de versão flake.lock, que registra os endereços da fonte de dados, valores de hash e outras informações relevantes para todas as dependências.
  • Os usuários não privilegiados podem instalar software com total segurança.
  • Com apenas algumas alterações na configuração, vários componentes do sistema podem ser facilmente substituídos.
  • As modificações são seguras e alternar entre diferentes ambientes de desktop (como GNOME, KDE, i3 e sway) é simples, com armadilhas mínimas.
  • Os projetos empacotados com o Nix têm reprodutibilidade de construção porque o Nix lida com todas as dependências, incluindo bibliotecas do sistema. A distribuição usa configuração declarativa para gerenciar todo o ambiente do sistema. Essas configurações podem ser gerenciadas diretamente com o Git, permitindo que o sistema seja restaurado para qualquer estado histórico desde que os arquivos de configuração sejam preservados
  • Fácil de reverter um sistema após uma atualização malfeita. O NixOS inclui até mesmo todas as versões antigas nas opções de inicialização por padrão, garantindo a capacidade de reverter facilmente as alterações.

Nix é um gerenciador de pacotes puramente funcional. Isso significa que ele trata pacotes como valores em linguagens de programação puramente funcionais, como Haskell.

nixos-uma-distribuicao-linux-baseada-no-nix

História

Em 2003, Eelco Dolstra iniciou o Nix como um projeto de pesquisa. Dolstra diz que o objetivo do projeto era alcançar um sistema para implantação correta de software. Suas influências incluíram Eelco Visser , que supervisionou seu doutorado na Universidade de Utrecht. Em 2006, Armijn Hemel apresentou o NixOS como resultado de sua tese de mestrado em Utrecht.

Em 2015, a Fundação NixOS foi fundada na Holanda, com o objetivo de apoiar projetos como o NixOS que implementam o modelo de implantação puramente funcional.