【发布时间】:2020-11-25 09:42:06
【问题描述】:
我正在尝试在 nixos containers 中配置一个容器,例如:
containers.abc123 = {
config = { config, pkgs, ... }:
{
systemd.services = {
finder-email-requests = {
description = "";
enable = true;
environment = {
TESTING = "abcxyz";
};
serviceConfig = {
Type = "simple";
ExecStart = "bash -c \"echo '$TESTING hello' >> /tmp/abcxyz\"";
Restart = "always";
RestartSec = 30;
};
wantedBy = [ "default.target" ];
};
};
};
};
然而,需要测试/编译这意味着运行 nixos-rebuild test 在我的机器上可能需要 10 多秒(或者在我刚刚尝试过的新安装的 VM 上需要 7 秒)。
有什么方法可以让我更快地独立于整个主机的 Nixos 配置来测试这个容器配置吗?例如,只构建容器配置本身而不是这个 nixos 配置的整个实例? p>
我发现nixos-rebuild 命令是一个小shell 脚本,例如https://github.com/NixOS/nixpkgs/blob/216f0e6ee4a65219f37caed95afda1a2c66188dc/nixos/modules/installer/tools/nixos-rebuild.sh
但是在阅读之后,我不太明白这个“容器”单元和一般的“nixos 配置”之间的关系是怎么回事。
【问题讨论】:
-
nixos-rebuild是一个围绕激活脚本的非常通用包装器。它必须与其他 NixOS 版本兼容。如果您对容器的实现感兴趣,容器将被实现here。 -
@Chris 我一直在谷歌上搜索有关 NixOS 容器的信息,结果遇到了github.com/erikarvstedt/extra-container - 这可能就是您要找的东西。