मुझे एक NixOS बॉक्स मिला है जिसे मैं nixos-16.03
चैनल पर रखता हूं । मैं चाहता हूं कि मशीन ज्यादातर स्थिर स्थिति में रहे, और इसलिए मैं nixos-unstable
चैनल पर स्विच करने से बचना चाहता हूं ।
हालाँकि, मुझे उस चैनल ( nodejs-6_x
इस उदाहरण में) की तुलना में पैकेज के नए संस्करण को स्थापित करने की आवश्यकता है । मैनुअल में, एक खंड होता है जो वन-क्लिक इंस्टॉलेशन का वर्णन करता है , जो कि पहले जैसा लगता था कि मुझे इसकी आवश्यकता थी। हालाँकि, http://hydra.nixos.org पर हाइड्रा सर्वर उस सेक्शन में वर्णित टूल .nixpkg
द्वारा उपयोग की जाने वाली किसी भी फाइल को पेश नहीं करता है nix-install-package
।
विकी एक ऐसी प्रक्रिया का भी दस्तावेजीकरण करता है जिसके द्वारा कोई एक पैकेज को अनुकूलित कर सकता है (पृष्ठ को संशोधित पैकेज कहा जाता है ), जो मुझे लगता है कि मेरे उद्देश्यों के लिए उपयोग किया जा सकता है, हालांकि ऐसा लगता है कि मैं इसका उपयोग करने के बजाय उपकरण से लड़ रहा हूं ।
मैंने आईआरसी में भी इसके बारे में पूछा ( M-Ralith
मेरे अज्ञानी सवालों का धैर्यपूर्वक जवाब देने के लिए धन्यवाद !), लेकिन मुझे यह समझ में नहीं आया कि इसे कैसे लागू किया जाए। सलाह यह थी कि "आपके nixpkgs config में src और संस्करण को ओवरराइड करें", जो लगता है कि मैं .nixpkgs/configuration.nix
अपने सब्सक्राइब्ड चैनल ( nixos-16.03
) में पैकेज के लिए उन संपत्तियों में एक निक्स एक्सप्रेशन लिख सकता हूं और उन संपत्तियों को ओवरराइड कर सकता हूं । जब मैंने उन पैकेजों के बारे में पूछा, जो चैनल में मौजूद नहीं हैं, तो सलाह "सिर्फ src और version को ओवरराइड करने के बजाय पूरे पैकेज को निर्दिष्ट करना था", जिसका मतलब है कि मुझे पैकेज के लिए संपूर्ण निक्स अभिव्यक्ति की नकल करने की आवश्यकता होगी मुझे दिलचस्पी है।nix-env
उन पैकेजों के लिए जो किसी अन्य चैनल में मौजूद हैं जिन्हें मैं स्थापित करना चाहता हूं, लेकिन मेरे वर्तमान चैनल पर बने रहना, क्या कोई बेहतर तरीका है? यह लगभग ऐसा लगता है जैसे मुझे कुछ करने में सक्षम होना चाहिए nix-build <url> | nix-env -i
। क्या आदर्श होगा कि इसे बंद कर दिया जाए, लेकिन ऐसा कॉन्फ़िगरेशन नहीं है जो इसे बाद में अपग्रेड करने से रोक सकता है अगर मेरे वर्तमान चैनल को पकड़ना है।