From a3070ba52d44ea77e2098132bc94afde81bba4bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Apr 2025 20:58:35 +0100 Subject: [PATCH] Add Homepage Dashboard https://gethomepage.dev --- hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/homepage/default.nix | 20 ++++++++++++++++++++ hosts/nixedo/services/homepage/services.nix | 12 ++++++++++++ hosts/nixedo/services/homepage/widgets.nix | 9 +++++++++ 4 files changed, 42 insertions(+) create mode 100644 hosts/nixedo/services/homepage/default.nix create mode 100644 hosts/nixedo/services/homepage/services.nix create mode 100644 hosts/nixedo/services/homepage/widgets.nix diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 18582aab..5ac48e3c 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./homepage ./samba.nix ]; } diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix new file mode 100644 index 00000000..59e45c96 --- /dev/null +++ b/hosts/nixedo/services/homepage/default.nix @@ -0,0 +1,20 @@ +{ + services = { + homepage-dashboard = { + enable = true; + listenPort = 8097; + openFirewall = true; + + services = import ./services.nix; + widgets = import ./widgets.nix; + }; + + nginx.virtualHosts."nixedo.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/".proxyPass = + "http://localhost:${toString config.services.homepage-dashboard.listenPort}"; + }; + }; +} diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix new file mode 100644 index 00000000..292520a6 --- /dev/null +++ b/hosts/nixedo/services/homepage/services.nix @@ -0,0 +1,12 @@ +[ + { + "Media" = [ + { + "Jellyfin" = { + description = "Jellyfin"; + href = "https://jellyfin.oliverdavies.uk"; + }; + } + ]; + } +] diff --git a/hosts/nixedo/services/homepage/widgets.nix b/hosts/nixedo/services/homepage/widgets.nix new file mode 100644 index 00000000..3083ea71 --- /dev/null +++ b/hosts/nixedo/services/homepage/widgets.nix @@ -0,0 +1,9 @@ +[ + { + resources = { + cpu = true; + disk = "/"; + memory = true; + }; + } +]