{ inputs, pkgs, ... }: { services.homepage-dashboard = { enable = true; openFirewall = true; allowedHosts = "dashboard.shobu.fr"; settings = { title = "Shobu's homelab dashboard"; description = "a dashboard of free and awesome bullshit"; startUrl = "https://dashboard.shobu.fr"; base = "https://dashboard.shobu.fr"; headerStyle = "boxed"; providers = { }; layout = [ { "resources" = { }; } { "about me stuff" = { tab = "Public"; }; } { "tools" = { tab = "Public"; }; } { "gayming" = { tab = "Public"; }; } { "mediacenter" = { tab = "Mediacenter"; header = false; }; } { "admin" = { tab = "Admin"; header = false; sin = { style = "row"; columns = 3; }; thea = { style = "row"; columns = 3; }; }; } ]; }; widgets = [ { greeting = { text = "Welcome on my services and links dashboard, make yourself home. :3"; }; } { datetime = { format = { dateStyle = "short"; }; }; } { glances = { url = "http://sin.home:61208"; version = 4; disk = [ "/" "/mnt/fs" ]; expanded = true; }; } ]; bookmarks = [ { "tools" = [ { "bddtrans" = [ { icon = "https://bddtrans.shobu.fr/favicon.ico"; href = "https://bddtrans.shobu.fr"; } ]; } ]; } { "about me stuff" = [ { "shobu.fr" = [ { icon = "https://shobu.fr/favicon.ico"; href = "https://shobu.fr"; } ]; } { "gitlab" = [ { icon = "gitlab.png"; href = "https://gitlab.com/shobu13"; } ]; } ]; } ]; services = [ { "gayming" = [ { "testing grounds" = { description = "a lightweight modded minecraft server"; href = "https://modrinth.com/modpack/testing-grounds"; widget = { type = "minecraft"; url = "udp://minecraft.shobu.fr:25565"; }; }; } { "reclamation" = { description = "bring back your world to life"; widget = { type = "minecraft"; url = "udp://minecraft.shobu.fr:25665"; }; }; } ]; } { "mediacenter" = [ { "users" = [ { "jellyfin" = { icon = "jellyfin.png"; href = "https://jellyfin.shobu.fr"; description = "Movies & TV shows"; widget = { type = "jellyfin"; url = "https://jellyfin.shobu.fr"; key = "af4888d2c6594473be63e8299355d048"; enableBlocks = true; enableNowPlaying = false; }; }; } { "jellyseerr" = { icon = "jellyseerr.png"; href = "https://jellyseerr.shobu.fr"; description = "Request movies and shows"; widget = { type = "jellyseerr"; url = "https://jellyseerr.shobu.fr"; key = "MTc0OTMzOTE2MDMwODgxNzdlYjNlLTU4N2ItNDc0Mi1iZTY4LTM3NzVhMWZiMDUzZg=="; }; }; } { "calendar" = { widget = { type = "calendar"; view = "agenda"; showTime = true; integrations = [ { type = "sonarr"; service_group = "administration"; service_name = "sonarr"; } { type = "radarr"; service_group = "administration"; service_name = "radarr"; } { type = "lidarr"; service_group = "administration"; service_name = "lidarr"; } ]; }; }; } ]; } { "administration" = [ { "radarr" = { icon = "radarr.png"; href = "https://radarr.shobu.fr"; widget = { type = "radarr"; url = "https://radarr.shobu.fr"; key = "13474b968893451fb5aa378457dc84a2"; }; }; } { "sonarr" = { icon = "sonarr.png"; href = "https://sonarr.shobu.fr"; widget = { type = "sonarr"; url = "https://sonarr.shobu.fr"; key = "f194704f6dce4072928d857d49c1f185"; }; }; } { "lidarr" = { icon = "lidarr.png"; href = "https://lidarr.shobu.fr"; widget = { type = "lidarr"; url = "https://lidarr.shobu.fr"; key = "deff3fc5052844e7b37dfe439a91f8bc"; }; }; } { "transmission" = { icon = "transmission.png"; href = "https://transmission.shobu.fr"; widget = { type = "transmission"; url = "http://sin.home:9091"; }; }; } ]; } ]; } { "admin" = [ ( let name = "sin"; address = "http://sin.home:61208"; in { "${name}" = [ { "info" = { widget = { type = "glances"; url = address; version = 4; metric = "info"; }; }; } { "main storage" = { widget = { type = "glances"; url = address; version = 4; metric = "fs:/mnt/fs"; }; }; } { "system storage" = { widget = { type = "glances"; url = address; version = 4; metric = "fs:/"; }; }; } { "memory" = { widget = { type = "glances"; url = address; version = 4; metric = "memory"; }; }; } { "cpu" = { widget = { type = "glances"; url = address; version = 4; metric = "cpu"; }; }; } { "network" = { widget = { type = "glances"; url = address; version = 4; metric = "network:enp2s0"; }; }; } ]; } ) ( let name = "thea"; address = "http://thea.home:61208"; in { "${name}" = [ { "info" = { widget = { type = "glances"; url = address; version = 4; metric = "info"; }; }; } { "main storage" = { widget = { type = "glances"; url = address; version = 4; metric = "fs:/mnt/fs"; }; }; } { "system storage" = { widget = { type = "glances"; url = address; version = 4; metric = "fs:/"; }; }; } { "memory" = { widget = { type = "glances"; url = address; version = 4; metric = "memory"; }; }; } { "cpu" = { widget = { type = "glances"; url = address; version = 4; metric = "cpu"; }; }; } { "network" = { widget = { type = "glances"; url = address; version = 4; metric = "network:enp2s0"; }; }; } ]; } ) ]; } ]; }; }