Nixパッケージのローカルリポジトリを作成するために見つけたすべての手順には、メインnixpkgsリポジトリのローカルクローンを作成して追加することが含まれます。
ローカルアドオンパッケージのみを含む小さなリポジトリを作成する方法はありますか?
Nixパッケージのローカルリポジトリを作成するために見つけたすべての手順には、メインnixpkgsリポジトリのローカルクローンを作成して追加することが含まれます。
ローカルアドオンパッケージのみを含む小さなリポジトリを作成する方法はありますか?
回答:
はい、単一のパッケージの式を作成するだけです。によってnixpkgsから依存関係を取得できますpkgs = import <nixpkgs> {};。
このブログ投稿には詳細があります:http : //sandervanderburg.blogspot.no/2014/07/managing-private-nix-packages-outside.html
低レベルのゼロからの詳細については、nix-pillシリーズがあります:http : //lethalman.blogspot.no/2014/07/nix-pill-1-why-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
しかし、nixは本格的な言語に基づいているため、無限の方法があります。
私は決してNixの専門家ではないので、これが最良の方法であるかどうかはわかりませんが、それは私がしていることです。私は中にパッケージのローカルレポ持っている$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で見ることができます