From 0075f6a75d5ce1feda2d033681630febd07b5ff6 Mon Sep 17 00:00:00 2001 From: Ingolf Wagner Date: Tue, 11 Jun 2024 13:17:37 +0200 Subject: [PATCH] update landingpage --- components/network/nginx.nix | 337 +++++++++++++++-------------------- 1 file changed, 147 insertions(+), 190 deletions(-) diff --git a/components/network/nginx.nix b/components/network/nginx.nix index 3fb5686..1793bc9 100644 --- a/components/network/nginx.nix +++ b/components/network/nginx.nix @@ -78,197 +78,154 @@ with lib; default = lib.mkDefault true; locations."/" = { root = pkgs.landingpage.override { - - jsonConfig = [ - { title = "System Links"; } - { - text = "Syncthings"; - items = map - ({ name, host ? "${name}.private", ... }: { - label = name; - href = "http://${host}:8384/"; - image = "https://media.giphy.com/media/JoyU4vuzwj6ZA7Ging/giphy.gif"; - }) - (lib.flatten (lib.mapAttrsToList (name: { ... }: { inherit name; }) - config.services.tinc.networks."private".hostSettings)); - } - { - text = "robi"; - items = [ + jsonConfig = + let + entry = { machine, items ? [ ] }: { - label = "Jellyfin"; - href = "http://flix.ingolf-wagner.de/"; - image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; - } - { - label = "netdata"; - href = "http://robi.private:19999/"; - image = "https://media.giphy.com/media/BkjdN6MQCDPaw/giphy.gif"; - } - { - label = "logs"; - href = "http://grafana.robi.private/explore"; - image = "https://raw.githubusercontent.com/cncf/landscape/master/hosted_logos/grafana-loki.svg"; - } - { - label = "grafana"; - href = "http://grafana.robi.private/"; - image = "https://www.vectorlogo.zone/logos/grafana/grafana-icon.svg"; - } - { - label = "prometheus"; - href = "http://prometheus.robi.private/"; - image = "https://www.vectorlogo.zone/logos/prometheusio/prometheusio-icon.svg"; - } - - ]; - } - { - text = "chungus"; - items = [ - { - label = "HomeAssistant"; - href = "http://chungus.private:8123/"; - image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; - } - { - label = "Zigbee2Mqtt"; - href = "http://chungus.private:9666/"; - image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; - } - { - label = "Flix"; - href = "http://chungus:8096/"; - image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; - } - { - label = "netdata"; - href = "http://chungus.private:19999/"; - image = "https://media.giphy.com/media/BkjdN6MQCDPaw/giphy.gif"; - } - { - label = "logs"; - href = "http://grafana.chungus.private/explore"; - image = "https://raw.githubusercontent.com/cncf/landscape/master/hosted_logos/grafana-loki.svg"; - } - { - label = "grafana"; - href = "http://grafana.chungus.private/"; - image = "https://www.vectorlogo.zone/logos/grafana/grafana-icon.svg"; - } - { - label = "prometheus"; - href = "http://prometheus.chungus.private/"; - image = "https://www.vectorlogo.zone/logos/prometheusio/prometheusio-icon.svg"; - } - { - label = "Kitchen"; - href = "http://192.168.178.101/"; - image = "https://i.giphy.com/3o7TKsrMIW65QT7VWo.webp"; - } - { - label = "Living Room"; - href = "http://192.168.178.102/"; - image = "https://i.giphy.com/3o7TKsrMIW65QT7VWo.webp"; - } - ]; - } - { - title = "Various Links"; - items = [ - { - label = "Terrapen"; - href = "http://192.168.178.31/"; - image = "https://i.giphy.com/W08brEWFt7EpA5y2jI.webp"; - } - { - label = "NeverSSL"; - href = "https://oldslowfreshlight.neverssl.com/"; - image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; - } - { - label = "Hetzner Cloud"; - href = "https://console.hetzner.cloud/projects"; - image = - "https://media.giphy.com/media/NECZ8crkbXR0k/giphy.gif"; - } - { - label = "Pass the Popcorn"; - href = "https://passthepopcorn.me/"; - image = - "https://media.giphy.com/media/NipFetnQOuKhW/giphy.gif"; - } - { - label = "redacted"; - href = "https://redacted.ch/"; - image = - "https://media.giphy.com/media/ku5EcFe4PNGWA/giphy.gif"; - } - { - label = "Cups"; - href = "http://localhost:631/"; - image = - "https://media.giphy.com/media/7hU7x4GPurk2c/giphy.gif"; - } - ]; - } - { - text = "NixOS Links"; - items = [ - { - label = "NixOS Manual"; - href = "https://nixos.org/nixos/manual/"; - image = - "https://media.giphy.com/media/dsdVyKkSqccEzoPufX/giphy.gif"; - } - { - label = "Nixpkgs Manual"; - href = "https://nixos.org/nixpkgs/manual/"; - image = - "https://media.giphy.com/media/dsdVyKkSqccEzoPufX/giphy.gif"; - } - { - label = "NixOS Reference"; - href = - "https://storage.googleapis.com/files.tazj.in/nixdoc/manual.html#sec-functions-library"; - image = - "https://media.giphy.com/media/LkjlH3rVETgsg/giphy.gif"; - } - { - label = "Nix Packages"; - href = "https://nixos.org/nixos/packages.html"; - image = - "https://media.giphy.com/media/l2YWlohvjPnsvkdEc/giphy.gif"; - } - { - label = "NixOS Language specific helpers"; - href = - "https://nixos.wiki/wiki/Language-specific_package_helpers"; - image = - "https://media.giphy.com/media/LkjlH3rVETgsg/giphy.gif"; - } - { - label = "NixOS Weekly"; - href = "https://weekly.nixos.org/"; - image = - "https://media.giphy.com/media/lXiRLb0xFzmreM8k8/giphy.gif"; - } - { - label = "NixOS Security"; - href = "https://broken.sh/"; - image = - "https://media.giphy.com/media/BqILAHjH1Ttm0/giphy.gif"; - } - { - label = "NixOS RFCs"; - href = "https://github.com/NixOS/rfcs/"; - image = - "https://media.giphy.com/media/Uq9bGjGKg08M0/giphy.gif"; - } - ]; - } - { urlEncode = true; } - ]; + text = machine; + items = [ + { + label = "Syncthing"; + href = "http://${machine}.private:8384/"; + image = "https://media.giphy.com/media/JoyU4vuzwj6ZA7Ging/giphy.gif"; + } + { + label = "netdata"; + href = "http://${machine}.private:19999/"; + image = "https://media.giphy.com/media/BkjdN6MQCDPaw/giphy.gif"; + } + ] ++ items; + }; + in + [ + { title = "System Links"; } + (entry { machine = "orbi"; items = [ + { + label = "Jellyfin"; + href = "http://flix.ingolf-wagner.de/"; + image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; + } + { + label = "PhotoPrism"; + href = "http://10.100.0.1:2342/"; + image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; + } + ];}) + (entry { machine = "chungus"; items = [ + { + label = "Grafana"; + href = "http://grafana.chungus.private/explore"; + image = "https://raw.githubusercontent.com/cncf/landscape/master/hosted_logos/grafana-loki.svg"; + } + { + label = "Jellyfin"; + href = "http://chungus:8096/"; + image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; + } + { + label = "HomeAssistant"; + href = "http://chungus.private:8123/"; + image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; + } + { + label = "Zigbee2Mqtt"; + href = "http://chungus.private:9666/"; + image = "https://media.giphy.com/media/fyLi0OuWysotq/giphy.gif"; + } + { + label = "Kitchen"; + href = "http://192.168.178.101/"; + image = "https://i.giphy.com/3o7TKsrMIW65QT7VWo.webp"; + } + { + label = "Living Room"; + href = "http://192.168.178.102/"; + image = "https://i.giphy.com/3o7TKsrMIW65QT7VWo.webp"; + } + ];}) + (entry { machine = "cherry"; }) + (entry { machine = "cream"; }) + (entry { machine = "mobi"; }) + (entry { machine = "bobi"; }) + { + title = "Various Links"; + items = [ + { + label = "Terrapen"; + href = "http://192.168.178.31/"; + image = "https://i.giphy.com/W08brEWFt7EpA5y2jI.webp"; + } + { + label = "Hetzner Cloud"; + href = "https://console.hetzner.cloud/projects"; + image = + "https://media.giphy.com/media/NECZ8crkbXR0k/giphy.gif"; + } + { + label = "Cups"; + href = "http://localhost:631/"; + image = + "https://media.giphy.com/media/7hU7x4GPurk2c/giphy.gif"; + } + ]; + } + { + text = "NixOS Links"; + items = [ + { + label = "NixOS Manual"; + href = "https://nixos.org/nixos/manual/"; + image = + "https://media.giphy.com/media/dsdVyKkSqccEzoPufX/giphy.gif"; + } + { + label = "Nixpkgs Manual"; + href = "https://nixos.org/nixpkgs/manual/"; + image = + "https://media.giphy.com/media/dsdVyKkSqccEzoPufX/giphy.gif"; + } + { + label = "NixOS Reference"; + href = + "https://storage.googleapis.com/files.tazj.in/nixdoc/manual.html#sec-functions-library"; + image = + "https://media.giphy.com/media/LkjlH3rVETgsg/giphy.gif"; + } + { + label = "Nix Packages"; + href = "https://nixos.org/nixos/packages.html"; + image = + "https://media.giphy.com/media/l2YWlohvjPnsvkdEc/giphy.gif"; + } + { + label = "NixOS Language specific helpers"; + href = + "https://nixos.wiki/wiki/Language-specific_package_helpers"; + image = + "https://media.giphy.com/media/LkjlH3rVETgsg/giphy.gif"; + } + { + label = "NixOS Weekly"; + href = "https://weekly.nixos.org/"; + image = + "https://media.giphy.com/media/lXiRLb0xFzmreM8k8/giphy.gif"; + } + { + label = "NixOS Security"; + href = "https://broken.sh/"; + image = + "https://media.giphy.com/media/BqILAHjH1Ttm0/giphy.gif"; + } + { + label = "NixOS RFCs"; + href = "https://github.com/NixOS/rfcs/"; + image = + "https://media.giphy.com/media/Uq9bGjGKg08M0/giphy.gif"; + } + ]; + } + { urlEncode = true; } + ]; }; };