আমি কীভাবে নিক্সস / নিক্সপিক্সের জন্য স্থানীয় সংগ্রহস্থল তৈরি করব?


17

নিক্স প্যাকেজগুলির স্থানীয় সংগ্রহস্থল তৈরি করার জন্য আমি যে সমস্ত নির্দেশনা খুঁজে পাই সেগুলির মধ্যে মূল nixpkgsসংগ্রহস্থলের স্থানীয় ক্লোন তৈরি করা এবং এতে যুক্ত হওয়া জড়িত ।

আমি কীভাবে আমার স্থানীয় অ্যাড-অন প্যাকেজগুলি রেখে একটি ছোট সংগ্রহস্থল তৈরি করতে পারি তার কোন উপায় আছে?

উত্তর:


6

হ্যাঁ, কেবল একক প্যাকেজের জন্য একটি অভিব্যক্তি তৈরি করুন। আপনি নিকস্পেকগুলি থেকে নির্ভরতা পেতে পারেন pkgs = import <nixpkgs> {};


5

এই ব্লগ পোস্টে কিছু বিশদ রয়েছে: http://sandervanderburg.blogspot.no/2014/07/managing-private-nix-packages-outside.html

গ্রাউন্ড-আপ থেকে আরও নিম্ন-স্তরের বিশদের জন্য নিক্স-পিল সিরিজ রয়েছে: http://lethalman.blogspot.no/2014/07/nix-pill-1-wy-you-should-give-it- try.html

কিন্তু আমি মনে করি মৌলিক পদ্ধতির আপনার নিজের সংস্করণ তৈরি হয় ~/.nix-defexpr/channels_root/nixos/pkgs/top-level/all-packages.nix, বলতে mypkgs.nixআমদানি করে ডিফল্ট "রেপো" থেকে নির্ভরতা যোগ <nixpkgs>

করে প্যাকেজ ইনস্টল করুন nix-env -f mypkgs.nix -i DERIVATION_NAME

তবে যেহেতু নিক্স সম্পূর্ণরূপে প্রস্ফুটিত একটি ভাষার উপর ভিত্তি করে তৈরি হয়েছে তা অনুমান করার মতো অনন্ত উপায় রয়েছে।


1

আমি কোনওভাবেই নিক্স বিশেষজ্ঞ নই তাই আমি জানিনা এটি সবচেয়ে ভাল উপায় কিনা তবে আমি যা করি তা এটি। আমি প্যাকেজের জন্য একটি স্থানীয় রেপো আছে $HOME/nix-local, যা প্যাকেজ ফাইল সংখ্যা উপস্থিত রয়েছে vault/default.nix, blackbox/default.nixএবং একটি ইত্যাদি config.nixযা সংজ্ঞায়িত ফাইল packageOverridesতাদের ডাকতে। সুতরাং যেমন কিছু:

$ cat nix-local/config.nix
{
  packageOverrides = pkgs: rec {
    vault = pkgs.callPackage ./vault {};
    blackbox = pkgs.callPackage ./blackbox {};
    # ...
}

$ export NIXPKGS_CONFIG=$HOME/nix-local/config.nix    

আপনি https://github.com/telent/nix-local এ সম্পূর্ণ রেপো দেখতে পাবেন


4
প্রায় 2017 সালের পরে এটি পড়ার যে কোনও ব্যক্তির কাছে, এই রেপোটি বর্তমানে রক্ষণাবেক্ষণ করা হয়নি এবং আমি আপনাকে দৃ would়ভাবে পরামর্শ দিচ্ছি যে আপনি "ওভারলে" পড়ুন, প্যাকেজওভারাইডরা যা করত সেগুলি করার অনেক পরিচ্ছন্ন উপায়
3:48
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.