2016-09-24 57 views
5

我在NixOS下工作,至今为止我都喜欢它。服务是否可以在nix-shell中运行

对于我的编码项目,我试图实现单独的开发环境。对于尼克斯壳因此,例如,我的斯卡拉/ node.js的项目,我已经写default.nix:

with import <nixpkgs> {}; { 
    tarifs2Env = stdenv.mkDerivation { 
     name = "webapp"; 
     buildInputs = with pkgs; [ 
      sbt 
      nodejs 
      nodePackages.gulp 
     ]; 

     shellHook = '' 
     ''; 
    }; 
} 

到目前为止好。现在我想添加一个数据库,例如posgtres。有没有办法将服务添加到nix-shell?

回答

3

我认为https://github.com/chrisfarms/nixos-shell应该完全符合你的要求。我没有使用它自己,但据我了解,它通过采用描述您想要的服务的configuration.nix,然后在短暂的NixOS容器中构建配置并将您放入容器中的shell中工作。

+0

我不知道它,看起来不错!谢谢。 – KaC

+0

3年后没有任何活动,但我会建议nix-shell代表一种非常小的隔离形式,只关注依赖关系的文件系统路径(它实际上可能不使用chroot来实现此目的),而一个nix容器(或其变体)开始隔离操作系统资源(大部分时间你只需要前者,而在应用程序中则需要后者)。应该可以让nix-shell创建一个容器并将其放入该容器中。一种可能性是集成到Docker中。 – CMCDragonkai