diff --git a/modules/nixos/meta/services.nix b/modules/nixos/meta/services.nix deleted file mode 100644 index e67e39f..0000000 --- a/modules/nixos/meta/services.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, ... }: -{ - options.custom.meta.services = lib.mkOption { - type = lib.types.attrsOf ( - lib.types.submodule ( - { name, ... }: - { - options = { - name = lib.mkOption { - type = lib.types.nonEmptyStr; - default = name; - }; - url = lib.mkOption { - type = lib.types.nonEmptyStr; - default = "https://${name}"; - }; - icon = lib.mkOption { - type = lib.types.nonEmptyStr; - default = ""; - }; - }; - } - ) - ); - default = { }; - }; -} diff --git a/modules/nixos/services/alertmanager.nix b/modules/nixos/services/alertmanager.nix index 3281dd4..4a2dcd8 100644 --- a/modules/nixos/services/alertmanager.nix +++ b/modules/nixos/services/alertmanager.nix @@ -98,13 +98,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "Alertmanager"; - icon = "sh:prometheus"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/services/alloy.nix b/modules/nixos/services/alloy.nix index 6bcb8cb..e22a3c5 100644 --- a/modules/nixos/services/alloy.nix +++ b/modules/nixos/services/alloy.nix @@ -128,13 +128,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = lib.mkIf (cfg.domain != null) cfg.port; - - meta.services.${cfg.domain} = lib.mkIf (cfg.domain != null) { - name = "Alloy"; - icon = "sh:alloy"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = lib.mkIf (cfg.domain != null) cfg.port; }; } diff --git a/modules/nixos/services/prometheus.nix b/modules/nixos/services/prometheus.nix index 621d784..7409dea 100644 --- a/modules/nixos/services/prometheus.nix +++ b/modules/nixos/services/prometheus.nix @@ -125,11 +125,6 @@ in services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; persistence.directories = [ "/var/lib/${config.services.prometheus.stateDir}" ]; - - meta.services.${cfg.domain} = { - name = "Prometheus"; - icon = "sh:prometheus"; - }; }; }; } diff --git a/modules/nixos/services/syncthing.nix b/modules/nixos/services/syncthing.nix index 2a898b8..9427643 100644 --- a/modules/nixos/services/syncthing.nix +++ b/modules/nixos/services/syncthing.nix @@ -170,11 +170,6 @@ in }; persistence.directories = [ dataDir ]; - - meta.services.${cfg.gui.domain} = lib.mkIf (cfg.gui.domain != null) { - name = "Syncthing"; - icon = "sh:syncthing"; - }; }; }; } diff --git a/modules/nixos/web-services/actualbudget.nix b/modules/nixos/web-services/actualbudget.nix index c416d9c..fc80e34 100644 --- a/modules/nixos/web-services/actualbudget.nix +++ b/modules/nixos/web-services/actualbudget.nix @@ -52,11 +52,6 @@ in }; persistence.directories = [ dataDir ]; - - meta.services.${cfg.domain} = { - name = "Actual Budget"; - icon = "sh:actual-budget"; - }; }; }; } diff --git a/modules/nixos/web-services/atuin.nix b/modules/nixos/web-services/atuin.nix index 0f559a8..79bf168 100644 --- a/modules/nixos/web-services/atuin.nix +++ b/modules/nixos/web-services/atuin.nix @@ -47,11 +47,6 @@ in services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; persistence.directories = [ dataDir ]; - - meta.services.${cfg.domain} = { - name = "Atuin"; - icon = "sh:atuin"; - }; }; }; } diff --git a/modules/nixos/web-services/filebrowser.nix b/modules/nixos/web-services/filebrowser.nix index e22d440..c7d1821 100644 --- a/modules/nixos/web-services/filebrowser.nix +++ b/modules/nixos/web-services/filebrowser.nix @@ -48,11 +48,6 @@ in }; persistence.directories = [ dataDir ]; - - meta.services.${cfg.domain} = { - name = "File Browser"; - icon = "sh:file-browser"; - }; }; }; } diff --git a/modules/nixos/web-services/forgejo.nix b/modules/nixos/web-services/forgejo.nix index 57f546d..f657248 100644 --- a/modules/nixos/web-services/forgejo.nix +++ b/modules/nixos/web-services/forgejo.nix @@ -83,11 +83,6 @@ in }; persistence.directories = [ config.services.forgejo.stateDir ]; - - meta.services.${cfg.domain} = { - name = "Forgejo"; - icon = "sh:forgejo"; - }; }; }; } diff --git a/modules/nixos/web-services/freshrss.nix b/modules/nixos/web-services/freshrss.nix index bc0d591..acae4e2 100644 --- a/modules/nixos/web-services/freshrss.nix +++ b/modules/nixos/web-services/freshrss.nix @@ -49,11 +49,6 @@ in }; persistence.directories = [ dataDir ]; - - meta.services.${cfg.domain} = { - name = "FreshRSS"; - icon = "sh:freshrss"; - }; }; }; } diff --git a/modules/nixos/web-services/gatus.nix b/modules/nixos/web-services/gatus.nix index 2e8a486..199c9a5 100644 --- a/modules/nixos/web-services/gatus.nix +++ b/modules/nixos/web-services/gatus.nix @@ -210,11 +210,6 @@ in services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; persistence.directories = [ dataDir ]; - - meta.services.${cfg.domain} = { - name = "Gatus"; - icon = "sh:gatus"; - }; }; }; } diff --git a/modules/nixos/web-services/glance.nix b/modules/nixos/web-services/glance.nix index 42de319..22c4328 100644 --- a/modules/nixos/web-services/glance.nix +++ b/modules/nixos/web-services/glance.nix @@ -28,49 +28,34 @@ in pages = lib.singleton { name = "Services"; - columns = lib.singleton { - size = "full"; - widgets = - allHosts - |> lib.attrValues - |> lib.map (host: { - hostName = host.config.networking.hostName; - services = host.config.custom.meta.services |> lib.attrValues; - }) - |> lib.filter ({ services, ... }: services != [ ]) - |> lib.map ( - { hostName, services }: + columns = [ + { + size = "full"; + widgets = [ { type = "monitor"; cache = "1m"; - title = "Services - ${hostName}"; + title = "Services"; sites = - services + allHosts + |> lib.attrValues |> lib.map ( - { - name, - url, - icon, - }: - { - title = name; - inherit url icon; - } - ); + host: + host.config.custom.services.caddy.virtualHosts |> lib.attrValues |> lib.map (vHost: vHost.domain) + ) + |> lib.concatLists + |> lib.map (domain: { + title = domain; + url = "https://${domain}"; + }); } - ); - }; + ]; + } + ]; }; }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "Glance"; - icon = "sh:glance"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/web-services/grafana.nix b/modules/nixos/web-services/grafana.nix index 74399c8..96913ec 100644 --- a/modules/nixos/web-services/grafana.nix +++ b/modules/nixos/web-services/grafana.nix @@ -85,13 +85,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "Grafana"; - icon = "sh:grafana"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/web-services/it-tools.nix b/modules/nixos/web-services/it-tools.nix index 857d59d..00b2a02 100644 --- a/modules/nixos/web-services/it-tools.nix +++ b/modules/nixos/web-services/it-tools.nix @@ -17,13 +17,6 @@ in }; config = lib.mkIf cfg.enable { - custom = { - services.caddy.virtualHosts.${cfg.domain}.files = "${pkgs.it-tools}/lib"; - - meta.services.${cfg.domain} = { - name = "IT-Tools"; - icon = "sh:it-tools"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.files = "${pkgs.it-tools}/lib"; }; } diff --git a/modules/nixos/web-services/karakeep.nix b/modules/nixos/web-services/karakeep.nix index 5bfa705..19d1449 100644 --- a/modules/nixos/web-services/karakeep.nix +++ b/modules/nixos/web-services/karakeep.nix @@ -57,11 +57,6 @@ in "/var/lib/karakeep" "/var/lib/meilisearch" ]; - - meta.services.${cfg.domain} = { - name = "Karakeep"; - icon = "sh:karakeep"; - }; }; }; } diff --git a/modules/nixos/web-services/networking-toolbox.nix b/modules/nixos/web-services/networking-toolbox.nix index 9015b29..96a2e41 100644 --- a/modules/nixos/web-services/networking-toolbox.nix +++ b/modules/nixos/web-services/networking-toolbox.nix @@ -22,13 +22,6 @@ in pull = "newer"; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "Networking Toolbox"; - icon = "sh:networking-toolbox"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/web-services/ntfy.nix b/modules/nixos/web-services/ntfy.nix index 19d604e..9cc9dd1 100644 --- a/modules/nixos/web-services/ntfy.nix +++ b/modules/nixos/web-services/ntfy.nix @@ -26,13 +26,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "ntfy"; - icon = "sh:ntfy"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/web-services/outline.nix b/modules/nixos/web-services/outline.nix index 4da49f9..fb662c6 100644 --- a/modules/nixos/web-services/outline.nix +++ b/modules/nixos/web-services/outline.nix @@ -85,11 +85,6 @@ in dataDir config.services.postgresql.dataDir ]; - - meta.services.${cfg.domain} = { - name = "Outline"; - icon = "sh:outline"; - }; }; }; } diff --git a/modules/nixos/web-services/personal-blog.nix b/modules/nixos/web-services/personal-blog.nix index a07cd0c..1930a2d 100644 --- a/modules/nixos/web-services/personal-blog.nix +++ b/modules/nixos/web-services/personal-blog.nix @@ -27,13 +27,6 @@ in script = "nix build github:SebastianStork/blog --out-link ${dataDir} --refresh"; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.files = dataDir; - - meta.services.${cfg.domain} = { - name = "Blog"; - icon = "sh:zola"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.files = dataDir; }; } diff --git a/modules/nixos/web-services/privatebin.nix b/modules/nixos/web-services/privatebin.nix index 7e9fcf0..7285fa9 100644 --- a/modules/nixos/web-services/privatebin.nix +++ b/modules/nixos/web-services/privatebin.nix @@ -37,13 +37,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "PrivateBin"; - icon = "sh:privatebin"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/web-services/radicale.nix b/modules/nixos/web-services/radicale.nix index c2021aa..7489834 100644 --- a/modules/nixos/web-services/radicale.nix +++ b/modules/nixos/web-services/radicale.nix @@ -109,11 +109,6 @@ in }; persistence.directories = [ dataDir ]; - - meta.services.${cfg.domain} = { - name = "Radicale"; - icon = "sh:radicale"; - }; }; }; } diff --git a/modules/nixos/web-services/screego.nix b/modules/nixos/web-services/screego.nix index ffac102..7a1d554 100644 --- a/modules/nixos/web-services/screego.nix +++ b/modules/nixos/web-services/screego.nix @@ -26,13 +26,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "Screego"; - icon = "mdi:projector-screen-outline"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; } diff --git a/modules/nixos/web-services/stirling-pdf.nix b/modules/nixos/web-services/stirling-pdf.nix index 3d5bf5f..a0efb72 100644 --- a/modules/nixos/web-services/stirling-pdf.nix +++ b/modules/nixos/web-services/stirling-pdf.nix @@ -40,13 +40,6 @@ in }; }; - custom = { - services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; - - meta.services.${cfg.domain} = { - name = "Stirling PDF"; - icon = "sh:stirling-pdf"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; }