modules.services.docker: fix

This commit is contained in:
2025-01-23 18:33:52 +08:00
parent 089e2e5b73
commit 15ac7e993a
2 changed files with 23 additions and 35 deletions

View File

@@ -2,42 +2,29 @@ inputs:
{
options.nixos.services.docker = let inherit (inputs.lib) mkOption types; in mkOption
{ type = types.nullOr (types.submodule {}); default = null; };
config = let inherit (inputs.config.nixos.services) docker; in inputs.lib.mkMerge
[
(
inputs.lib.mkIf (docker != null)
{
virtualisation.docker =
{
enable = true;
rootless =
{
enable = true;
setSocketVariable = true;
daemon.settings =
{
features.buildkit = true;
# dns 127.0.0.1 make docker not work
dns = [ "1.1.1.1" ];
# prevent create btrfs subvol
storage-driver = "overlay2";
};
};
};
hardware.nvidia-container-toolkit.enable = inputs.lib.mkIf inputs.config.nixos.system.nixpkgs.cuda.enable true;
networking.firewall.trustedInterfaces = [ "docker0" ];
}
)
# some docker settings should be set unconditionally, as some services depend on them
config = let inherit (inputs.config.nixos.services) docker; in inputs.lib.mkIf (docker != null)
{
virtualisation.docker =
{
virtualisation.docker =
enable = true;
# prevent create btrfs subvol
storageDriver = "overlay2";
daemon.settings.dns = [ "1.1.1.1" ];
rootless =
{
# prevent create btrfs subvol
storageDriver = "overlay2";
daemon.settings.dns = [ "1.1.1.1" ];
# workaround bug: https://github.com/docker/buildx/issues/1832
package = inputs.pkgs.docker_26;
enable = true;
setSocketVariable = true;
daemon.settings =
{
features.buildkit = true;
# dns 127.0.0.1 make docker not work
dns = [ "1.1.1.1" ];
# prevent create btrfs subvol
storage-driver = "overlay2";
};
};
}
];
};
hardware.nvidia-container-toolkit.enable = inputs.lib.mkIf inputs.config.nixos.system.nixpkgs.cuda.enable true;
networking.firewall.trustedInterfaces = [ "docker0" ];
};
}

View File

@@ -44,5 +44,6 @@ inputs:
'';
secrets."wechat2tg/token" = {};
};
nixos.services.docker = {};
};
}