diff --git a/hosts/srv-core/configuration.nix b/hosts/srv-core/configuration.nix index 1f34570..962334b 100644 --- a/hosts/srv-core/configuration.nix +++ b/hosts/srv-core/configuration.nix @@ -67,9 +67,10 @@ domain = "grafana.${config.custom.networking.overlay.domain}"; }; - glance = { + gatus = { enable = true; - domain = "home.${config.custom.networking.overlay.domain}"; + domain = "status.${config.custom.networking.overlay.domain}"; + generateDefaultEndpoints = true; }; }; }; diff --git a/modules/nixos/meta/services.nix b/modules/nixos/meta/services.nix deleted file mode 100644 index fee970a..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 = { - title = 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 977b3a5..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} = { - title = "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 24543d4..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) { - title = "Alloy"; - icon = "sh:grafana-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 5139fe8..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} = { - title = "Prometheus"; - icon = "sh:prometheus"; - }; }; }; } diff --git a/modules/nixos/services/syncthing.nix b/modules/nixos/services/syncthing.nix index 27703c0..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) { - title = "Syncthing"; - icon = "sh:syncthing"; - }; }; }; } diff --git a/modules/nixos/web-services/actualbudget.nix b/modules/nixos/web-services/actualbudget.nix index ec1a616..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} = { - title = "Actual Budget"; - icon = "sh:actual-budget"; - }; }; }; } diff --git a/modules/nixos/web-services/atuin.nix b/modules/nixos/web-services/atuin.nix index f655aae..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} = { - title = "Atuin"; - icon = "sh:atuin"; - }; }; }; } diff --git a/modules/nixos/web-services/filebrowser.nix b/modules/nixos/web-services/filebrowser.nix index 0683e7c..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} = { - title = "File Browser"; - icon = "sh:file-browser"; - }; }; }; } diff --git a/modules/nixos/web-services/forgejo.nix b/modules/nixos/web-services/forgejo.nix index 4a2083a..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} = { - title = "Forgejo"; - icon = "sh:forgejo"; - }; }; }; } diff --git a/modules/nixos/web-services/freshrss.nix b/modules/nixos/web-services/freshrss.nix index bb749e6..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} = { - title = "FreshRSS"; - icon = "sh:freshrss"; - }; }; }; } diff --git a/modules/nixos/web-services/gatus.nix b/modules/nixos/web-services/gatus.nix index c1e049e..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} = { - title = "Gatus"; - icon = "sh:gatus"; - }; }; }; } diff --git a/modules/nixos/web-services/glance.nix b/modules/nixos/web-services/glance.nix deleted file mode 100644 index 498e91c..0000000 --- a/modules/nixos/web-services/glance.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - config, - lib, - allHosts, - ... -}: -let - cfg = config.custom.web-services.glance; - - servicesWidgets = - 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 }: - { - type = "monitor"; - cache = "1m"; - title = "Services - ${hostName}"; - sites = services; - } - ); -in -{ - options.custom.web-services.glance = { - enable = lib.mkEnableOption ""; - domain = lib.mkOption { - type = lib.types.nonEmptyStr; - default = ""; - }; - port = lib.mkOption { - type = lib.types.port; - default = 63958; - }; - }; - - config = lib.mkIf cfg.enable { - services.glance = { - enable = true; - - settings = { - server.port = cfg.port; - - pages = lib.singleton { - name = "Home"; - center-vertically = true; - - columns = lib.singleton { - size = "full"; - widgets = - lib.singleton { - type = "search"; - search-engine = "google"; - autofocus = true; - } - ++ servicesWidgets; - }; - }; - }; - }; - - 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 e3c3909..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} = { - title = "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 6ad12a2..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} = { - title = "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 a796faf..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} = { - title = "Karakeep"; - icon = "sh:karakeep"; - }; }; }; } diff --git a/modules/nixos/web-services/networking-toolbox.nix b/modules/nixos/web-services/networking-toolbox.nix index fee4ba3..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} = { - title = "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 5067d4f..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} = { - title = "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 767c0e5..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} = { - title = "Outline"; - icon = "sh:outline"; - }; }; }; } diff --git a/modules/nixos/web-services/personal-blog.nix b/modules/nixos/web-services/personal-blog.nix index 18e37b8..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} = { - title = "Blog"; - icon = "sh:hugo"; - }; - }; + 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 a708bb6..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} = { - title = "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 ab87975..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} = { - title = "Radicale"; - icon = "sh:radicale"; - }; }; }; } diff --git a/modules/nixos/web-services/screego.nix b/modules/nixos/web-services/screego.nix index 1f8d820..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} = { - title = "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 97382e4..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} = { - title = "Stirling PDF"; - icon = "sh:stirling-pdf"; - }; - }; + custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port; }; }