【问题标题】:Can a service be run in nix-shell可以在 nix-shell 中运行服务吗
【发布时间】:2017-02-02 06:40:13
【问题描述】:

我在 NixOS 下工作,到目前为止我很喜欢它。

对于我的编码项目,我正在尝试实现单独的开发环境。例如,对于我的 Scala/node.js 项目,我为 nix-shell 编写了 default.nix:

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

        shellHook = ''
        '';
    };
}

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

【问题讨论】:

    标签: nixos


    【解决方案1】:

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

    【讨论】:

    • 我不知道,看起来很棒!谢谢。
    • 3 年后没有任何活动,但我建议 nix-shell 代表一种非常简单的隔离形式,仅关注依赖的文件系统路径(它实际上可能不使用 chroot 来执行此操作),而nix 容器(或它的变体)开始隔离操作系统资源(大多数时候您只需要前者,而对于应用程序,您需要后者)。 nix-shell 应该可以构建一个容器并将您放入该容器中。一种可能性是集成到 Docker 中。
    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多