运行 个命令使用 default.nix 个文件

run commands using default.nix file

我有以下 default.nix 文件:

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

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

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
     '';
   };
}