{ config, lib, pkgs, ... }: { services.glance = { enable = true; settings.server.port = 8888; settings.server.host = "0.0.0.0"; openFirewall = false; settings = { theme = { background-color = "235 19 13"; primary-color = "349 89 72"; contrast-multiplier = 1.3; }; pages = [ { name = "Home"; width = "slim"; hide-desktop-navigation = true; center-vertically = true; columns = [ { size = "full"; widgets = [ { type = "search"; search-engine = "duckduckgo"; autofocus = true; } { type = "bookmarks"; groups = [ { title = "Media"; color = "202 100 75"; links = [ { title = "Jellyfin"; url = "https://watch.${config.homelab.domain}"; } { title = "Jellyseer"; url = "https://jellyseer.${config.homelab.domain}"; } { title = "Radarr"; url = "https://radarr.${config.homelab.domain}"; } { title = "Sonarr"; url = "https://sonarr.${config.homelab.domain}"; } { title = "Prowlarr"; url = "https://prowlarr.${config.homelab.domain}"; } { title = "Bazarr"; url = "https://bazarr.${config.homelab.domain}"; } { title = "Deluge"; url = "https://deluge.${config.homelab.domain}"; } ]; } { title = "Sync"; color = "89 51 61"; links = [ { title = "Miniflux"; url = "https://rss.${config.homelab.domain}"; } { title = "Forgejo"; url = "https://git.${config.homelab.domain}"; } ]; } { title = "System"; color = "36 66 64"; links = [ { title = "Kanidm"; url = "https://${config.homelab.authDomain}"; } { title = "Uptime Kuma"; url = "https://status.${config.homelab.domain}"; } ]; } ]; } ]; } ]; } ]; }; }; services.caddy.virtualHosts."${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:8888 import block_non_private_ips ''; }; }