NixOS:设置 nix-shell 的选项

Posted

技术标签:

【中文标题】NixOS:设置 nix-shell 的选项【英文标题】:NixOS: Setting options for nix-shell 【发布时间】:2016-12-05 09:35:21 【问题描述】:

是否可以仅为单个 nix-shell 设置选项 (http://nixos.org/nixos/options.html),而不是在 /etc/nixos/configuration.nix 全局定义它们?

【问题讨论】:

我想这是superuser的问题。 【参考方案1】:

您所指的那些选项仅适用于 NixOS,通常(在后台)转换为配置 systemd 单元文件并在 /etc 中创建配置文件

另一方面,nix-shell 工具是 Nix(包管理器)的一部分,可用于任何 Linux 发行版(与任何其他包管理器一起)以及最新的 osx。

Nix(包管理器)只安装二进制包而不配置它们,就像其他 linux 包管理器一样。类似于自制软件的工作原理。

回顾一下: - NixOS(nixos-* 命令)使用 Nix 安装包的二进制文件并对其进行配置。 - Nix(nix-* 命令)安装包的二进制文件。你必须自己配置它们。

如果您正在运行 NixOS 或任何 systemd linux 发行版,则可以使用相同的 NixOS 选项创建 systemd 容器。有关容器的文档是可用的 here。现在,在您开始在 Eager 中使用它之前,请注意 nixos-container 命令仍在进行中,有时需要一些 Nix(表达式语言)的知识。但是任何反馈都更受欢迎,Nix 开发人员正在积极努力改进它。

如果您只是想配置某些包(例如 vim、weechat 等)以在您的系统中使用,这对其中一些也是可能的,但目前需要一些 Nix 知识(表达式语言)。让我知道您有兴趣配置哪些软件包,我可以告诉您配置的难度。

希望对你有所帮助。

【讨论】:

似乎应该可以在 nix-shell 中执行 nixos-container 并假设您在 nixos 上,这应该能够创建容器。也可以在 nix-shell 中引入 docker,并在 nix-shell 中启动 docker 容器。不过,我还没有制定出独立服务开发的工作流程。

以上是关于NixOS:设置 nix-shell 的选项的主要内容,如果未能解决你的问题,请参考以下文章

使用 nix-shell 或 nix shell 在 Linux 64 上运行 MacOS sed

我可以复制nix-build与nix-shell和cabal构建的内容吗?

如何将我的系统升级到 nixos-unstable?

Nixos 默认音频设备

如何在 configuration.nix 中以声明方式添加 NixOS 不稳定通道

如何提供 C 库以在 NixOS 上堆叠?