@@ -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"; }; };
|
||||
};
|
||||
}
|
||||
|
@@ -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" ]; })
|
||||
]
|
Reference in New Issue
Block a user