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; + }; + } +]