{ config, pkgs, self, ... }: { services.homepage-dashboard = { enable = true; package = self.packages.${pkgs.system}.homepage; listenPort = 3020; environmentFile = config.sops.secrets.homepage.path; settings = { title = "bruh"; theme = "dark"; color = "gray"; target = "_self"; layout.video = { style = "columns"; row = 4; # columns = 2; }; }; widgets = [ { resources = { cpu = true; memory = true; disk = "/"; }; } { search = { provider = "duckduckgo"; target = "_blank"; }; } ]; services = [ ##################################################### ## PUBLIC ##################################################### { public = [ { jellyfin = rec { href = "https://jelly.nelim.org"; icon = "jellyfin.png"; description = "ourflix"; widget = { type = "jellyfin"; url = href; key = "{{HOMEPAGE_VAR_JELLY_API}}"; }; }; } { accounts = { href = "https://jelly.nelim.org/accounts"; icon = "jellyfin.png"; description = "manage jellyfin users"; }; } { jellyseerr = rec { href = "https://seerr.nelim.org"; icon = "jellyseerr.png"; description = "request handler"; widget = { type = "jellyseerr"; url = href; key = "{{HOMEPAGE_VAR_SEERR_API}}"; }; }; } { gitea = { href = "https://git.nelim.org"; icon = "gitea.png"; description = "git"; }; } { immich = rec { href = "https://photos.nelim.org"; icon = "immich.png"; description = "gphotos replacement"; widget = { type = "immich"; url = href; key = "{{HOMEPAGE_VAR_IMMICH_API}}"; version = 2; }; }; } { gameyfin = { href = "https://games.nelim.org"; description = "steam (tm)"; }; } { nextcloud = rec { href = "https://cloud.nelim.org"; icon = "nextcloud.png"; description = "PDrive"; widget = { type = "nextcloud"; url = href; username = "mathis"; password = "{{HOMEPAGE_VAR_CLOUD_PASS}}"; }; }; } { "public vaultwarden" = { href = "https://vault.nelim.org"; icon = "bitwarden.png"; description = "password manager"; }; } ]; } ##################################################### ## VIDEO AUTOMATION ##################################################### { "video automation" = [ { qbit = rec { href = "https://lan.nelim.org/qbt"; icon = "qbittorrent.png"; description = "torrent client"; widget = { type = "qbittorrent"; url = href; username = "admin"; password = "{{HOMEPAGE_VAR_QBIT_PASS}}"; }; }; } { sabnzbd = rec { href = "https://lan.nelim.org/sabnzbd"; icon = "sabnzbd.png"; description = "nzb client"; widget = { type = "sabnzbd"; url = href; key = "{{HOMEPAGE_VAR_SAB_API}}"; }; }; } { sonarr = rec { href = "https://lan.nelim.org/sonarr"; icon = "sonarr.png"; description = "fetches tv shows"; widget = { type = "sonarr"; url = href; key = "{{HOMEPAGE_VAR_SONARR_API}}"; }; }; } { radarr = rec { href = "https://lan.nelim.org/radarr"; icon = "radarr.png"; description = "fetches movies"; widget = { type = "radarr"; url = href; key = "{{HOMEPAGE_VAR_RADARR_API}}"; }; }; } { bazarr = rec { href = "https://lan.nelim.org/bazarr"; icon = "bazarr.png"; description = "fetches subs"; widget = { type = "bazarr"; url = href; key = "{{HOMEPAGE_VAR_BAZARR_API}}"; }; }; } { prowlarr = rec { href = "https://lan.nelim.org/prowlarr"; icon = "prowlarr.png"; description = "fetches tracker queries"; widget = { type = "prowlarr"; url = href; key = "{{HOMEPAGE_VAR_PROWLARR_API}}"; }; }; } { joal = { href = "https://joal.nelim.org"; icon = "joal.png"; description = "boosts YGGTorrent ratio"; }; } ]; } ##################################################### ## MISC PROJECTS ##################################################### { "misc projects" = [ { freshrss = { href = "https://rss.nelim.org"; icon = "freshrss.png"; description = "rss client"; }; } { docker-hub-rss = { href = "https://drss.nelim.org"; icon = "freshrss.png"; description = "dockerhub feed maker"; }; } { rss-bridge = { href = "https://bridge.nelim.org"; icon = "rss-bridge.png"; description = "make rss feeds from anything"; }; } ]; } ##################################################### ## MANAGEMENT ##################################################### { management = [ { cloudflare = { href = "https://dash.cloudflare.com/3152abbe78daf6d91c57b6fcc424f958/nelim.org/dns"; icon = "cloudflare.png"; description = "dns to the world"; }; } { vaultwarden = { href = "https://lan.nelim.org/vault"; icon = "bitwarden.png"; description = "password manager"; }; } { wireguard = { href = "https://wg.nelim.org"; icon = "wireguard.png"; description = "wireguard gui"; }; } { survie = { icon = "minecraft.png"; description = "minecwaf"; widget = { type = "minecraft"; url = "udp://mc.nelim.org"; }; }; } { creative = { icon = "minecraft.png"; description = "minecwaf"; widget = { type = "minecraft"; url = "udp://cv.nelim.org"; }; }; } ]; } ]; }; }