47 lines
1.0 KiB
Nix
47 lines
1.0 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.guests.homepage; # NOLINT(let_order)
|
|
environmentFile = "/run/secrets/homepage.env";
|
|
in
|
|
{
|
|
config = lib.mkIf cfg.enable {
|
|
guests.homepage = {
|
|
interior.modules.services.homepage = {
|
|
enable = true;
|
|
hostName = config.networking.hostName;
|
|
inherit environmentFile;
|
|
};
|
|
|
|
mounts.${environmentFile} = {
|
|
file = config.sops.templates."homepage.env".path;
|
|
readOnly = true;
|
|
};
|
|
|
|
limits = {
|
|
memory = lib.mkDefault "1G";
|
|
cpu = lib.mkDefault "100%";
|
|
tasksMax = lib.mkDefault 256;
|
|
};
|
|
};
|
|
|
|
sops.secrets = {
|
|
"services/metadata/latitude" = { };
|
|
"services/metadata/longitude" = { };
|
|
};
|
|
|
|
sops.templates."homepage.env" = {
|
|
owner = "root";
|
|
group = "storage";
|
|
mode = "0440";
|
|
content = ''
|
|
HOMEPAGE_VAR_LATITUDE=${config.sops.placeholder."services/metadata/latitude"}
|
|
HOMEPAGE_VAR_LONGITUDE=${config.sops.placeholder."services/metadata/longitude"}
|
|
'';
|
|
};
|
|
};
|
|
}
|