2016-04-06 1 views
5

में डिफ़ॉल्ट चैनल को सेट करना मैं निक्सोस के /etc/configuration.nix में डिफ़ॉल्ट चैनल कैसे सेट करूं?NixOS: config.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 में सेटअप करने के लिए तो मैं इस हर कैसे करना है याद करने के लिए नहीं है चाहते हैं। धन्यवाद!

उत्तर

2

nix.nixPath (ref) विकल्प ऐसा लगता है कि यह आपके बाद के बाद होगा।

इसके अलावा nixp-unstable चैनल nixpkgs-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 
nix.nixPath = pkgs.lib.mkBefore [ "nix/var/nix/profiles/per-user/root/channels/nixos-unstable" ]; 

आप अपने configuration.nix में जरूरी nix चैनल आदेशों चाहते हैं और साथ ही आप एक छोटे systemd सेवा लिख ​​सकता है ऐसा करने के लिए, पता चला here के रूप में।

पीएस मुझे एहसास हुआ कि आप nix-channel --add https://nixos.org/channels/nixos-unstable/ nixos करके निकिक्स-अस्थिर चैनल के लिए निकिक्स पथ को भी इंगित कर सकते हैं लेकिन मुझे लगता है कि पहला समाधान स्पष्ट है।

+0

सुझावों के लिए धन्यवाद। ऐसा लगता है कि 'nixos-rebuild' कमांड को प्रतिस्थापित कर सकता है, हालांकि मैं अस्थिर चैनल को' config.nix' में कैसे जोड़ सकता हूं? –

+0

मेरे प्रारंभिक उत्तर में आवश्यक आदेश जोड़ा गया। – brocking

3

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

+1

मैंने कोशिश की लेकिन यह 'nix-channel' का उपयोग करने जैसा ही प्रतीत नहीं होता था, अगर मुझे सही ढंग से समझ में आया कि क्या हो रहा था। सबसे पहले, 'nixos-rebuild switch' चलाते समय, यह tar.xz फ़ाइल डाउनलोड करके nixpkgs को अपग्रेड किया गया। दूसरा, लगभग (?) हर बार nixpkgs की आवश्यकता थी, यह डाउनलोड किया गया था। 'Nix-channel' के साथ सेटिंग करते समय मुझे कार्यक्षमता कैसे मिल सकती है? यही है, स्पष्ट रूप से पूछे जाने पर केवल nixpkgs को अपग्रेड करना। फिर भी, चैनल config.nix में सेट किया जा सकता है। इसका कोई मतलब भी है क्या? –

2

system.autoUpgrade.channel देखना है क्या आप जैसे किसी भी चैनल के लिए

सेट यह देख जा सकता है

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

प्रलेखन कहते हैं:

डिफ़ॉल्ट रूप से, इस चैनल nix चैनल का उपयोग कर ( 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

+0

धन्यवाद यह आशाजनक लग रहा है। दुर्भाग्य से निक्सोस के साथ मेरा प्रयोग समाप्त हो गया है इसलिए मैं इसे सत्यापित नहीं कर सकता। अगर कोई सत्यापित कर सकता है तो मैं इसे उत्तर के रूप में चुनूंगा। –