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で見ることができます