【问题标题】:run commands using default.nix file使用 default.nix 文件运行命令
【发布时间】:2018-03-30 19:40:45
【问题描述】:

我有以下default.nix 文件:

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

这很棒,可以在我的仓库中使用 nix-shell,但是如何 在 shell 设置期间运行我的命令?我想跑

mix deps.get
mix test

在每次nix-shell 执行时。

【问题讨论】:

  • nix-shell--command--run 标志。请运行nix-shell --help 来查看。不确定这是否是您想要的。
  • 谢谢,不过我正在寻找一个 nix 表达式来自动执行命令
  • 我明白了,我想你想使用shellHook
  • 谢谢,这有效 - 请您将其发布为答案?
  • 很高兴知道问题已解决,您也可以answer您自己的问题,了解您是如何解决的。

标签: shell elixir elixir-mix nixos


【解决方案1】:

根据 wizzup 的评论,使用 shellHook 解决了这个问题:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-03
    • 2011-05-08
    • 1970-01-01
    • 2013-02-04
    • 2012-04-01
    • 2020-07-12
    相关资源
    最近更新 更多