NixOS チャネル バージョンを特定のブート エントリ (世代) で使用されているバージョンに戻すにはどうすればよいですか?

NixOS チャネル バージョンを特定のブート エントリ (世代) で使用されているバージョンに戻すにはどうすればよいですか?

私は NixOS を不安定な状態で実行しています。何度か試してみたところnixos-rebuild boot --upgrade、一部のアプリが壊れていることがわかりました。おそらく一時的な非互換性や依存関係の重大な変更によるもので、最終的には解決されるでしょう。

私は、現在完全に機能している世代を特定し、実行(起動)しています。

  • 完全に働く世代は数世代前であり、その前の世代ではない。

さて、次はアップグレード前の状態に戻りたいと思います。

  1. 完全に働く世代に戻りたい。
    • デフォルトのブート世代にする、
    • または、すべての世代の上に新しい(同一の)世代を作成します。
  2. nix チャネルをこの世代で使用されているバージョンに戻したい:
    • に変更を加えconfiguration.nix、それを適用できるようになりますnixos-rebuild

答え1

sudo nix-channel --rollback Nチャンネルを世代に戻します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)"

関連情報