Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-06-08 15:46:38 +01:00
parent 8b23486d4a
commit 090ae66aa6
17 changed files with 80 additions and 167 deletions

View File

@@ -16,8 +16,7 @@ in
home.packages = with pkgs; [ dive ];
xdg.configFile."dive/config.yaml" = lib.mkIf (
(config.virtualisation.podman.enable || hmConfig.services.podman.enable)
&& !(config.virtualisation.docker.enable || config.virtualisation.docker.rootless.enable)
config.virtualisation.podman.enable || hmConfig.services.podman.enable
) { source = (pkgs.formats.yaml { }).generate "config.yaml" { container-engine = "podman"; }; };
};
}

View File

@@ -1,52 +0,0 @@
{
user ? throw "user argument is required",
home ? throw "home argument is required",
rootless ? true,
}:
{
config,
lib,
pkgs,
...
}:
lib.mkMerge [
{
virtualisation.docker.rootless = {
enable = rootless;
setSocketVariable = true;
enableOnBoot = false;
storageDriver = "btrfs";
daemon.settings = {
experimental = true;
ipv6 = true;
fixed-cidr-v6 = "fd00::/80";
};
autoPrune = {
enable = true;
flags = [ "--all" ];
};
};
home-manager.users.${user} = {
home = {
packages = with pkgs; [ docker-compose ];
sessionVariables.DOCKER_CONFIG = "${home}/.config/docker";
};
};
}
(lib.mkIf rootless {
environment.persistence."/persist/state"."${home}/.local/share/docker".create = "directory";
systemd.user = {
services.docker.after = [
config.environment.persistence."/persist/state"."${home}/.local/share/docker".mount
];
sockets.docker.after = [
config.environment.persistence."/persist/state"."${home}/.local/share/docker".mount
];
};
})
(lib.mkIf (!rootless) { users.users.${user}.extraGroups = [ "docker" ]; })
]