我运行的 NixOS 不稳定,我已经做了nixos-rebuild boot --upgrade
几次,发现某些应用程序已损坏。这可能是依赖项中的一些临时不兼容/破坏性更改,最终会得到解决。
我设法识别出,并且我正在运行(启动),现在完全工作的一代:
- 充分工作的一代是几代人之前的——而不是上一代。
现在,接下来我想进入这些升级之前的状态:
- 我想回到完全工作的一代:
- 使其成为默认启动生成,
- 或者创建一个新的(相同的)放置在所有世代之上,
- 我想将 nix 通道恢复到这一代使用的版本:
- 能够进行更改
configuration.nix
并应用它们nixos-rebuild
。
- 能够进行更改
答案1
sudo nix-channel --rollback N
将通道恢复为 Generation N
。您可以使用这恢复到当前运行的一代:sudo nix-channel --rollback "$(grep --files-with-matches --fixed-strings "$(cut --delimiter=. --fields=3 /run/current-system/nixos-version)" /nix/var/nix/profiles/per-user/root/channels-*-link/nixos/svn-revision | tail --lines=1 | cut --delimiter=- --fields=3)"