Files
nix/hosts/common/configs/user/console/docker/default.nix
Nikolaos Karaolidis 67e7549452 Add k9s
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-01-17 14:27:27 +00:00

53 lines
1.1 KiB
Nix

{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{
config,
lib,
pkgs,
...
}:
{
virtualisation.docker.rootless = {
enable = true;
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 config.virtualisation.docker.rootless.enable {
environment.persistence."/persist"."${home}/.local/share/docker" = { };
systemd.user = {
services.docker.after = [
config.environment.persistence."/persist"."${home}/.local/share/docker".mount
];
sockets.docker.after = [
config.environment.persistence."/persist"."${home}/.local/share/docker".mount
];
};
}
// lib.mkIf (!config.virtualisation.docker.rootless.enable) {
users.users.${user}.extraGroups = [ "docker" ];
}