Estou atualmente em 18.03 e gostaria de atualizar para 18.09. Como eu faria isso?
Encontrei o seguinte através de uma pesquisa na web, mas não é muito conclusivo: https://discourse.nixos.org/t/how-to-upgrade-from-18-03-to-18-09/933
Estou assumindo que eu poderia simplesmente mudar meu canal referenciado por nixos
? Mas não tenho certeza se isso é ideal para permitir a reversão no caso de algo dar errado.
sudo nix-channel --list
nixos https://nixos.org/channels/nixos-18.03
unstable https://nixos.org/channels/nixos-unstable
Além disso, também vi o seguinte: https://github.com/NixOS/nixpkgs/issues/40351#issuecomment-388405973 (citado abaixo) - preciso levar isso em consideração?
Também:
/etc/nixos/configuration.nix:
# Este valor determina a versão do NixOS com a qual seu sistema deve ser # compatível, a fim de evitar a quebra de alguns softwares, como servidores de banco de dados #. Você deve alterar isso somente após as notas de lançamento do NixOS dizerem que você # deveria. system.stateVersion = "17.09"; # Você leu o comentário? Eu não vi quando o comando foi emitido para mudar isso.
Li as notas de lançamento, notícias e informações disponíveis. Esperou o comando para fazer isso, mas não encontrou um.
De qualquer forma, alguns dias após o lançamento, mudei "17.09" -> "18.03".
Para atualizar o NixOS:
nixos
: e atualize o canal (nix-channel --update
).Se as coisas derem errado, você pode reiniciar, selecionar a geração anterior, usar
nix-channel
para adicionar o canal antigo e, em seguida,nixos-rebuild boot
tornar a geração de trabalho o padrão; Eu acho que é mais confiável reconstruir do que usarnixos-rebuild --rollback
.Processo alternativo
Se você quiser tentar a atualização sem mexer nos canais, você pode usar um clone GIT do repositório nixpkgs:
Se tudo estiver bem...
A desvantagem dessa abordagem é que chamadas subsequentes para ferramentas Nix, como
nixos-rebuild
, exigem que o-I
sinalizador especifique os nixpkgs corretos. Ou seja, até você atualizar o canal.