Рекомендуемый способ расширения / объединения / объединения деривации и файла `shell.nix` - PullRequest
0 голосов
/ 17 марта 2019

Допустим, у меня есть довольно маленький вывод в default.nix;

{ pkgs ? import <nixpkgs>{} } :

pkgs.stdenv.mkDerivation rec {
  name = "xmonad-config";
  src = ./.;
  installPhase = "cp ./xmonad.hs $out";
}

А потом я хочу файл shell.nix, который содержит все default.nix вкусности, но также и некоторые новые функции. Что мне нужно сделать, чтобы достичь этого? Какой способ вы бы порекомендовали?

Следующий код не будет работать, но может помочь понять, что я хочу сделать:

with import <nixpkgs> {};

let
  default = import ./.;
in
  stdenv.mergeDerivation rec {
    shellHook = ''
      echo 'Welcome to ${default.name}!';
      echo 'Just look at all of the incredible buildInputs in default.nix we have:';
      echo $buildInputs;
    '';
  }

Должен ли я использовать оверлеи как-нибудь? Если да, то как?

...