Add custom impermanence module

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-08-08 22:03:15 +03:00
parent 5e57d63a54
commit 22e0150a65
69 changed files with 777 additions and 494 deletions

View File

@@ -1,15 +1,14 @@
{
username ? throw "username argument is required",
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{
config,
inputs,
utils,
pkgs,
...
}:
let
hmConfig = config.home-manager.users.${username};
in
{
virtualisation.docker.rootless = {
enable = true;
@@ -29,9 +28,16 @@ in
};
};
environment.persistence."/persist".users.${username}.directories = [
"${hmConfig.xdg.relativeDataHome}/docker"
];
environment.persistence."/persist"."${home}/.local/share/docker" = { };
home-manager.users.${username}.home.packages = with pkgs; [ docker-compose ];
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
];
};
home-manager.users.${user}.home.packages = with pkgs; [ docker-compose ];
}