Embora você possa executar aplicativos no NixOS porque eles seguem o padrão acima, os arquivos não estão onde estariam em outro sistema. Os desenvolvedores do NixOS e GNU Guix têm opiniões fortes sobre este sistema e descobriram maneiras inteligentes de cumpri-lo.
Um sistema diferente
Seu sistema de armazenamento de software afeta a funcionalidade de uma maneira muito mais profunda do que parece à primeira vista. Para que o software encontre os arquivos de que precisa, o NixOS usa links simbólicos. Cada aplicativo tem seu próprio diretório que contém o executável e links para as bibliotecas que o executam.
Com este sistema de organização, você pode ter diferentes arquivos e versões instaladas ao mesmo tempo. Por padrão, todos os pacotes e suas dependências devem compilar durante a instalação. No entanto, requer muito tempo e poder de processamento para fazer isso em cada instalação, há caches.
Baixando
Com o NixOS, há sempre mais de uma maneira de fazer algo. Como outras distribuições, com o NixOS, você tem um ISO em um stick USB. Você pode escolher como deseja instalar o NixOS em sua distribuição. No entanto, antes de discutirmos este tópico com mais detalhes, é importante entender que existem duas partes ligeiramente confusas neste processo.
Primeiro, o Nix é diferente do NixOS, e você deve entender a diferença entre o Nix, o gerenciador de pacotes, e o NixOS, que configura o seu sistema. Você pode baixar o gerenciador de pacotes Nix e usá-lo em seu sistema atual. Com ele, você pode manter muitas versões de aplicativos em seu sistema sem que interfiram entre si.
Em segundo lugar, com o NixOS, embora você não possa não declarar o esquema de particionamento, todo o resto pode ser deixado em um arquivo. A maioria dos usuários deixa o arquivo de configuração de hardware criado automaticamente sozinho. Quando você começa, você pode manter seus pacotes declarados no arquivo, mas com o tempo, você provavelmente fará arquivos separados que você importa para o seu arquivo de configuração.
Particionamento
Antes da instalação, você deve particionar suas unidades. Em outras distribuições, existem padrões que você pode aceitar; no entanto, com o NixOS, você deve fazer seu próprio particionamento. O particionamento não é muito complexo, mas você pode ter problemas quando tiver que definir sua configuração para o esquema de particionamento que você escolher. É importante entender que as instruções e scripts preferem que seus sistemas de arquivos sejam rotulados corretamente.
O manual padrão mostra os comandos de particionamento. Observe que os comandos são diferentes para um UEFI e um disco MBR, e definir os valores errados causará muitos problemas. O manual sugere o uso dos valores fornecidos abaixo para a instalação inicial, mas é realmente fácil testar novos valores.
Partições padrão:
MBR:
parted / dev / sda - mkpart primário 1MiB -8GiB
parted / dev / sda - mkpart linux-swap primário -8GiB 100%
UEFI:
parted / dev / sda - mklabel gptparted / dev / sda - mkpart primário 512MiB -8GiB
parted / dev / sda - mkpart linux-swap primário -8GiB 100%
parted / dev / sda - mkpart ESP fat32 1MiB 512MiB
parted / dev / sda - definir 3 esp em
Montando as partições em MBR:
mkswap -L swap / dev / sda2montar / dev / disco / por rótulo / nixos
Montando as partições em UEFI:
montar / dev / disco / por rótulo / nixos / mntmkdir -p / mnt / boot
montar / dev / disco / por rótulo / boot / mnt / boot
A próxima seção mostrará como criar seu arquivo de configuração.
O arquivo de configuração
Depois de configurar seus discos, você pode iniciar o processo de configuração. Com o NixOS, você configura primeiro e depois instala. As instruções a seguir assumem que você inicializou usando o ISO, mas você pode inicializar com chroot.
Com nixos-generate-config, o sistema gera um arquivo de configuração padrão.
$ nixos-generate-config -root / mntEste comando cria dois arquivos: / mnt / etc / nixos / hardware-configuration.nix (você não altera este arquivo) e / mnt / etc / nixos / configuração.nix. Você pode editar o segundo arquivo em seu editor favorito.
Normalmente, as opções não mudam dependendo do método usado para inicializar. Você pode usar o grub ou outra configuração de inicialização. Existem muitas opções, mas aqui estão alguns padrões.
Adicione esta linha apenas para MBR:
Bota.carregador.comida.dispositivo = "dev / sda";Adicione estas linhas apenas para UEFI:
Bota.carregador.systemd-boot.ativar = verdadeiro;Bota.carregador.efi.canTouchEfiVariables = true;
Altere os arquivos de configuração o mínimo possível para começar. Esses valores estão todos no arquivo original: apenas descomente-os e faça as alterações para atender às suas necessidades.
networking.hostName = "nixos";Comercial.do utilizador.nixos =
isNormalUser = true;
extraGroups = "roda"
meio Ambiente.systemPackages = com pacotes [
wget vim
];
Serviços.openssh.ativar = verdadeiro;
Adicione os pacotes que deseja usar como pacotes padrão. Todos os pacotes padrão vão entre colchetes com wget e vim. Você pode instalar mais pacotes quando o sistema estiver funcionando.
Prédio
Assim que o seu arquivo de configuração estiver correto, você pode executar a instalação.
$ nixos-installEm seguida, o instalador pedirá uma senha de root que será usada no sistema real. Todos os programas serão compilados ou baixados do cache.nixpkgs.org e depois instalado na loja nix no seu computador. Em seguida, você pode reiniciar e deverá obter um prompt de login.
$ rebootAgora, forneça uma senha para o seu usuário usando root. O usuário que você definiu no arquivo de configuração também terá um diretório inicial.
Nova configuração
Depois de concluir as etapas acima, você pode brincar com o arquivo de configuração. Quando você mudar algo, experimente sem instalar da seguinte maneira:
Teste de reconstrução de $ nixosDepois de ter novos valores que funcionam bem, execute o comando rebuild:
Chave de reconstrução de $ nixosAgora, você verá se configurou os valores de inicialização corretamente. É importante notar que as alterações na configuração são reversíveis. Você pode simplesmente reiniciar e escolher uma versão mais antiga, que é chamada de geração, e tentar novamente. No entanto, cada configuração requer espaço em disco, portanto, certifique-se de estar familiarizado com a função de coleta de lixo.
Conclusão
O NixOS requer algumas etapas manuais para configurar, mas você pode retornar a um sistema em execução muito mais rápido do que com outros sistemas. Além disso, o controle de versão é mais fácil se você precisar de muitas versões do mesmo aplicativo ou se você precisar de muitas versões das mesmas bibliotecas. À primeira vista, pode parecer haver muitas limitações, mas essas limitações podem ser superadas com as partes mais avançadas do sistema.