14

NixOS でデフォルト チャンネルを設定するにはどうすればよい/etc/configuration.nixですか?

それを設定して再構築するコマンドがあります

sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable
sudo nixos-rebuild switch -I nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs

しかし、configuration.nix でセットアップしたいので、毎回これを行う方法を覚える必要はありません。ありがとう!

4

3 に答える 3

7

system.autoUpgrade.channelあなたが探しているかもしれないものです

たとえば、任意のチャネルに設定します

system.autoUpgrade.channel = "https://nixos.org/channels/nixos-16.03-small/";

ドキュメントには次のように書かれています:

デフォルトでは、これはnix-channelを使用して設定されたチャネルです(実行 nix-channel --listして現在の値を確認します)

チャネルの最新リストは、https://nixos.org/channels/にあります。

参照: https://nixos.org/nixos/manual/options.html#opt-system.autoUpgrade.channel https://nixos.org/nixos/manual/index.html#idm140737317454064

于 2016-05-14T20:29:16.017 に答える
3

( refnix.nixPath ) オプションは、あなたが求めていることを実行するように見えます。

また、nixpkgs-unstable よりも nixos-unstable チャネルの方が適している場合があります。nixpkgs チャネルの pkgs は、nixOS 以外のシステム用にテストおよびビルドされていると思いますが、現時点ではその参照を思い出すことはできません。

nix-channel --add https://nixos.org/channels/nixos-unstable/ 
nix-channel --update nixos-unstable
# /etc/nixos/configuration.nix
# Put nixos-unstable at the front of nixPath
{ lib, ... }:
{
  nix.nixPath = lib.mkDefault (lib.mkBefore [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos-unstable" ]);
}

configuration.nix に必須の nix-channel コマンドも必要な場合は、ここに示すように、そのための小さな systemd サービスを作成できます。 編集:configuration.nixが最新のチャネルから構築されていることを確認するには、@iElectric からの回答にある asunstableの値を設定するだけで、Nix は評価されるたびにその URL に含まれる式を使用します。nixpkgsconfiguration.nix

PS 実行することで nixos パスを nixos-unstable チャネルに向けることもできることに気付きましたnix-channel --add https://nixos.org/channels/nixos-unstable/ nixosが、最初の解決策の方が明確だと思います。

于 2016-04-06T20:09:41.107 に答える