diff --git a/.sops.yaml b/.sops.yaml index 8159b1a..bb35d01 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,27 +1,38 @@ keys: - - &jo age1qcjcwh9tq8pzf2yr7m3hm2n3n3y5rlc30fpkr0eytju9w57ucgcsgcy79d - - &jo_age age1gudgza8lv02nwec0pejqpp5t7zu0tzjsfkmvgvy3ckfscr9f4qrq2sl5dv - - &absolutesolver age1gudgza8lv02nwec0pejqpp5t7zu0tzjsfkmvgvy3ckfscr9f4qrq2sl5dv + - &jo_puzzlevision age1qcjcwh9tq8pzf2yr7m3hm2n3n3y5rlc30fpkr0eytju9w57ucgcsgcy79d + - &jo_puzzlevision_age age1gudgza8lv02nwec0pejqpp5t7zu0tzjsfkmvgvy3ckfscr9f4qrq2sl5dv + - &absolutesolver age1gudgza8lv02nwec0pejqpp5t7zu0tzjsfkmvgvy3ckfscr9f4qrq2sl5dv + - &jo_mcdonalds age1plr4p9vydup3elucpe59razqehzw7dv37kg5cuw4dk3qr0rfhqzqnct8mm creation_rules: - - path_regex: secrets/[^/]+\.(yaml|json|env|cfg)$ - key_groups: - - age: - - *jo - - *absolutesolver + - path_regex: secrets/[^/]+\.(yaml|json|env|cfg)$ + key_groups: + - age: + - *jo_puzzlevision + - *absolutesolver - - path_regex: systems/[^/]+/absolutesolver/secrets/.*\.(yaml|env|json|cfg)$ - key_groups: - - age: - - *jo - - *absolutesolver + - path_regex: systems/x86_64-nixos/absolutesolver/secrets/.*\.(yaml|env|json|cfg)$ + key_groups: + - age: + - *jo_puzzlevision + - *absolutesolver - - path_regex: systems/[^/]+/puzzlevision/secrets/.*\.(yaml|env|json|cfg)$ - key_groups: - - age: - - *jo - - *jo_age + - path_regex: systems/x86_64-nixos/puzzlevision/secrets/.*\.(yaml|env|json|cfg)$ + key_groups: + - age: + - *jo_puzzlevision + - *jo_puzzlevision_age - - path_regex: homes/[^/]+/jo/secrets/.*\.(yaml|env|json|cfg)$ - key_groups: - - age: - - *jo + - path_regex: systems/aarch64-darwin/mcdonalds/secrets/.*\.(yaml|env|json|cfg)$ + key_groups: + - age: + - *jo_mcdonalds + + - path_regex: homes/x86_64-linux/jo/secrets/.*\.(yaml|env|json|cfg)$ + key_groups: + - age: + - *jo_puzzlevision + + - path_regex: homes/aarch64-darwin/jo/secrets/.*\.(yaml|env|json|cfg)$ + key_groups: + - age: + - *jo_mcdonalds diff --git a/modules/nixos/services/glance/default.nix b/modules/nixos/services/glance/default.nix new file mode 100644 index 0000000..f4ef140 --- /dev/null +++ b/modules/nixos/services/glance/default.nix @@ -0,0 +1,48 @@ +{ + lib, + self, + config, + namespace, + ... +}: +let + inherit (lib) mkEnableOption mkIf types; + inherit (self.lib.options) mkOpt; + + cfg = config.${namespace}.services.glance; +in +{ + options.${namespace}.services.glance = { + enable = mkEnableOption "glance, a self-hostable dashboard and startpage."; + sopsFile = mkOpt types.path null "The location of the sops secret file for the glance service."; + sopsFormat = mkOpt types.str null "The format of the sops secret file for the glance service."; + }; + + config = mkIf cfg.enable { + # sops.secrets."services/glance" = { + # inherit (cfg) sopsFile; + # format = cfg.sopsFormat; + # owner = "glance"; + # }; + + services.glance = { + enable = true; + # environmentFile = config.sops.secrets."services/glance".path; + + settings = { + server.port = 5678; + }; + }; + + services.traefik.dynamicConfigOptions = { + http = { + services.glance.loadBalancer.servers = [ { url = "http://localhost:5678"; } ]; + routers.glance = { + entryPoints = [ "websecure" ]; + service = "glance"; + rule = "Host(`${config.${namespace}.services.domain}`)"; + }; + }; + }; + }; +} diff --git a/systems/x86_64-nixos/absolutesolver/default.nix b/systems/x86_64-nixos/absolutesolver/default.nix index 47f4e9a..ed9defb 100644 --- a/systems/x86_64-nixos/absolutesolver/default.nix +++ b/systems/x86_64-nixos/absolutesolver/default.nix @@ -56,6 +56,10 @@ languagetool = { enable = true; }; + + glance = { + enable = true; + }; }; };