使用 default.nix 文件运行命令



我有以下default.nix文件:

with import <nixpkgs> {}; {
   pullapiEnv = stdenv.mkDerivation {
     name = "pullapi";
     buildInputs = [ elixir ];
   };
 }

这很棒,并且可以在我的存储库中与nix-shell一起使用,但是如何在外壳设置期间是否运行 I 命令?我想跑

mix deps.get
mix test

每次执行nix-shell时。

根据wizzup的评论,这是使用shellHook解决的:

#default.nix
with import <nixpkgs> {}; {
   pullapiEnv = stdenv.mkDerivation {
     name = "pullapi";
     buildInputs = [ elixir ];
     shellHook = ''
     mix deps.get
     mix compile
     mix test
     '';
   };
}

最新更新