2016-04-06 6 views
5

Wie stelle ich den Standardkanal in NixOS /etc/configuration.nix ein?NixOS: Einstellen des Standardkanals in configuration.nix

Es gibt einen Befehl, um ihn zu setzen und den Wiederaufbau mit

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 

aber ich mag es habe Setup in configuration.nix, damit ich nicht haben, zu erinnern, wie diese jedes Mal zu tun. Vielen Dank!

Antwort

2

Die (ref) Option sieht aus wie es tun wird, was Sie suchen.

Auch der Nixos-Unstable-Kanal könnte besser für Sie geeignet sein, als nixpkgs-labil. Ich glaube, dass die pkgs im nixpkgs-Kanal getestet und für Nicht-NixOS-Systeme gebaut wurden, obwohl ich mich im Moment nicht an eine Referenz erinnern kann.

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 
nix.nixPath = pkgs.lib.mkBefore [ "nix/var/nix/profiles/per-user/root/channels/nixos-unstable" ]; 

Wenn Sie die zwingend notwendig, nix-Kanal-Befehle in Ihrer configuration.nix wollen auch könnten Sie einen kleinen systemd Service schreiben, so zu tun, als here gezeigt.

PS Ich erkannte, dass Sie auch nur den Nixos-Pfad auf den Nixos-Unstable-Kanal zeigen können, indem Sie nix-channel --add https://nixos.org/channels/nixos-unstable/ nixos tun, aber ich denke, die erste Lösung ist klarer.

+0

Danke für die Tipps. Es sieht so aus, als könnte das den 'nixos-rebuild' Befehl ersetzen, aber wie kann ich den unstable Kanal selbst in' configuration.nix' hinzufügen? –

+0

Die erforderlichen Befehle zu meiner ersten Antwort hinzugefügt. – brocking

3

Set nixPath = [ "nixpkgs=http://nixos.org/channels/nixos-unstable/nixexprs.tar.xz" ]; finden https://github.com/snabblab/snabblab-nixos/blob/master/modules/common.nix#L37

+1

Ich habe das versucht, aber es schien nicht ähnlich zu funktionieren, wie 'nix-channel' zu verwenden, wenn ich richtig verstanden habe, was vor sich ging. Zuerst, wenn 'nixos-rebuild switch' ausgeführt wird, wurde nixpkgs durch Herunterladen der tar.xz-Datei aktualisiert. Zweitens wurde fast (?) Jedes Mal, wenn nixpkgs benötigt wurde, heruntergeladen. Wie kann ich Funktionalität haben wie beim Einstellen mit 'nix-channel'? Das heißt, nixpkgs nur aktualisieren, wenn explizit gefragt wird. Trotzdem könnte der Kanal in configuration.nix eingestellt werden. Macht das Sinn? –

2

system.autoUpgrade.channel ist, was Sie vielleicht suchen werden

Set es auf einen beliebigen Kanal z.B.

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

die Dokumentation sagt:

standardmäßig ist dies der Kanalsatz unter Verwendung Nix-Kanal (Lauf nix-channel --list den aktuellen Wert, um zu sehen)

eine aktuelle Liste der Kanäle kann auf https://nixos.org/channels/

gefunden werden

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

+0

Danke das sieht vielversprechend aus. Leider ist mein Experimentieren mit NixOS beendet, daher kann ich das nicht bestätigen. Wenn jemand dies bestätigen kann, wähle ich dies als Antwort aus. –

Verwandte Themen