आप NixOS में एक-बंद पैकेज कैसे स्थापित करते हैं?


9

मुझे एक 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। क्या आदर्श होगा कि इसे बंद कर दिया जाए, लेकिन ऐसा कॉन्फ़िगरेशन नहीं है जो इसे बाद में अपग्रेड करने से रोक सकता है अगर मेरे वर्तमान चैनल को पकड़ना है।

जवाबों:


8

आप nix-envउपकरण का उपयोग कर सकते हैं

% nix-env -f https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz -iA tig

या nix-buildउपकरण का उपयोग करें

% nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz -A tig

यह कैसे मदद करता है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.