{ 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"} ''; }; }; }