{ config, lib, pkgs, ... }: let listNames = config.syscfg.server.db; containerNames = lib.mapAttrsToList (name: cfg: name) (lib.filterAttrs (name: cfg: cfg.db or false) config.syscfg.server.containers); allApps = lib.unique (listNames ++ containerNames); in{ config = lib.mkIf (config.syscfg.server.sops) { sops.secrets.INFOMANIAK_API_KEY = { sopsFile = ./server.yaml; }; sops.secrets = lib.genAttrs (map (name: "${name}_pass") allApps) (name: { owner = "postgres"; }); }; }