ookflix: add containers
This commit is contained in:
parent
4ee2e2a877
commit
79a37fa8eb
13 changed files with 303 additions and 68 deletions
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption mkEnableOption elem assertMsg;
|
||||
|
|
@ -87,6 +88,15 @@
|
|||
user = mkUserOption name args.uid;
|
||||
group = mkGroupOption name args.gid;
|
||||
};
|
||||
mkBasicServiceOptions = name: {
|
||||
gid,
|
||||
uid,
|
||||
...
|
||||
} @ args: {
|
||||
enable = mkEnableOption "Enable ${name} container";
|
||||
user = mkUserOption name args.uid;
|
||||
group = mkGroupOption name args.gid;
|
||||
};
|
||||
mkServiceUser = service: {
|
||||
users.${service} = {
|
||||
isSystemUser = true;
|
||||
|
|
@ -106,6 +116,13 @@
|
|||
group = cfg.services.${service}.group.name;
|
||||
};
|
||||
};
|
||||
mkServiceSecret = name: service: {
|
||||
${name} = {
|
||||
file = "${self}/secrets/container/${name}.age";
|
||||
owner = cfg.services.${service}.user.name;
|
||||
group = cfg.services.${service}.group.name;
|
||||
};
|
||||
};
|
||||
in {
|
||||
inherit mkServiceOptions mkServiceStateDir mkServiceUser mkUserOption mkPortOption mkGroupOption mkVolumeOption mkSubdomainOption;
|
||||
inherit mkServiceSecret mkBasicServiceOptions mkServiceOptions mkServiceStateDir mkServiceUser mkUserOption mkPortOption mkGroupOption mkVolumeOption mkSubdomainOption;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue