diff --git a/modules/servers/homepage.nix b/modules/servers/homepage.nix index 688d848..60e5f22 100644 --- a/modules/servers/homepage.nix +++ b/modules/servers/homepage.nix @@ -12,6 +12,16 @@ in { listenPort = port; environmentFile = config.sops.secrets.homepage.path; settings = { + layout = { + "Multimedia" = { + style = "row"; + columns = 3; + }; + "Piracy" = { + style = "row"; + columns = 4; + }; + }; background = "https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80"; }; @@ -33,12 +43,24 @@ in { }; } ]; - services = [{ - "Multimedia" = [ - { inherit (services) Audiobookshelf; } - { inherit (services) Jellyfin; } - ]; - }]; + services = [ + { + "Multimedia" = [ + { inherit (services) Jellyfin; } + { inherit (services) Audiobookshelf; } + { inherit (services) Kavita; } + ]; + } + { + "Piracy" = [ + { inherit (services) Sonarr; } + { inherit (services) Radarr; } + { inherit (services) Lidarr; } + { inherit (services) Bazarr; } + { inherit (services) Prowlarr; } + ]; + } + ]; }; nginx.virtualHosts."home.${config.my.domain}" = proxyReverse port // { }; }; diff --git a/modules/servers/homepage/services.nix b/modules/servers/homepage/services.nix index 5ac06b9..0e4bcfe 100644 --- a/modules/servers/homepage/services.nix +++ b/modules/servers/homepage/services.nix @@ -8,12 +8,15 @@ key = "{{HOMEPAGE_VAR_AUDIOBOOKSHELF}}"; }; }; - Jellyfin = lib.mkIf config.my.servers.jellyfin.enable { - icon = "${config.my.servers.jellyfin.name}.png"; - href = config.my.servers.jellyfin.url; + Jellyfin = let + name = "jellyfin"; + url = "https://flix.servidos.lat"; + in { + icon = "${name}.png"; + href = url; widget = { - type = config.my.servers.jellyfin.name; - url = config.my.servers.jellyfin.url; + type = name; + url = url; key = "{{HOMEPAGE_VAR_JELLYFIN}}"; enableBlocks = true; enableNowPlaying = true; @@ -22,4 +25,79 @@ expandOneStreamToTwoRows = false; }; }; + Sonarr = let + name = "sonarr"; + url = "https://series.servidos.lat"; + in { + icon = "${name}.png"; + href = url; + widget = { + type = name; + url = url; + key = "{{HOMEPAGE_VAR_SONARR}}"; + enableQueue = true; + }; + }; + Radarr = let + name = "radarr"; + url = "https://movies.servidos.lat"; + in { + icon = "${name}.png"; + href = url; + widget = { + type = name; + url = url; + key = "{{HOMEPAGE_VAR_RADARR}}"; + enableQueue = true; + }; + }; + Lidarr = let + name = "lidarr"; + url = "https://music.servidos.lat"; + in { + icon = "${name}.png"; + href = url; + widget = { + type = name; + url = url; + key = "{{HOMEPAGE_VAR_LIDARR}}"; + }; + }; + Prowlarr = let + name = "prowlarr"; + url = "https://indexer.servidos.lat"; + in { + icon = "${name}.png"; + href = url; + widget = { + type = name; + url = url; + key = "{{HOMEPAGE_VAR_PROWLARR}}"; + }; + }; + Bazarr = let + name = "bazarr"; + url = "https://subs.servidos.lat"; + in { + icon = "${name}.png"; + href = url; + widget = { + type = name; + url = url; + key = "{{HOMEPAGE_VAR_BAZARR}}"; + }; + }; + Kavita = let + name = "kavita"; + url = "https://library.servidos.lat"; + in { + icon = "${name}.png"; + href = url; + widget = { + type = name; + url = url; + username = "{{HOMEPAGE_VAR_KAVITA_USERNAME}}"; + password = "{{HOMEPAGE_VAR_KAVITA_PASSWORD}}"; + }; + }; } diff --git a/overlay.nix b/overlay.nix index f3b40b7..07452fa 100644 --- a/overlay.nix +++ b/overlay.nix @@ -26,6 +26,7 @@ _self: super: { inherit (pkgsU) gdtoolkit; inherit (pkgsU) ns-usbloader; inherit (pkgsU) collector; + inherit (pkgsU) homepage-dashboard; inherit (pkgsM) gallery-dl; inherit (pkgsM) yt-dlp; handbrake = super.handbrake.override { useGtk = true; }; diff --git a/secrets/env.yaml b/secrets/env.yaml index f31cda3..935a298 100644 --- a/secrets/env.yaml +++ b/secrets/env.yaml @@ -7,7 +7,7 @@ multi-scrobbler: ENC[AES256_GCM,data:qZKo4YCCP4xG1PWbWUssy8Pt4mDX352Fo9K5b/wPhbi vaultwarden: ENC[AES256_GCM,data:BH+G8FmYylTbOhzZy6T+sW0q2myJC2zpd/SrtG5WC7N5fmV++X4h+6/tU5dFv4owIOLm/13oGrkT/KOWkF2wwQ7qeQQ8bsyloEigNBMW6d7/ihXZtdtYid1HQrvc6U+Sjl8CPjInHz5j9fy5ouMrmDCGVIYdNrDzFW8AYn7KFLIa3c7oCWMTBCOeGS5rD55GSwy5y4AvBx7Hj9xnZmGG2cnzt5CR9hr/fnZhBTcPxquUZw==,iv:CxDdtWC7zKJZ/Ikq5fV33AT6MYx+pbAGI0Cy6I1fcyo=,tag:q8w4maD3vXTdxCLZ7qbCjg==,type:str] dns: ENC[AES256_GCM,data:eQACe2GRS0ZHyszFkZDG1CeJJZDe/0eXNnurujdv5VR5QQJjYRAQuJVzC3XgelXoWeIQdtW4IfpXTv7xaGuhEzPgsPm4hAdEKosNs6h0ZGg8FG73NSdMWw==,iv:n3i4Ll24+a82aKiRIJgMWLko1B2Lk7bLnpmUevBoHGA=,tag:bnZzVfRUSpZFvF2T6pMtsQ==,type:str] cloudflare-api: ENC[AES256_GCM,data:iNUMlY8rz5yHVitpK4HGaFSK7j+c8Pm7rOQMOQGmSJ3a8ASyrtouPgLbcnoPY/jalsJYAj991dSiui+Vwqs=,iv:qWONG/KLd9/F4tqrWF5T25Zxst3bk+kOYaOFBFSBAAY=,tag:gRFxar8KS8gnX8oaCD156Q==,type:str] -homepage: ENC[AES256_GCM,data:065NyZDDVPM8z50si7t9a+Yk6hgUGqcizGX/SRzWVdEA2bLk+lcBO+1OhnM2HXlpHTABG7yaiKGnGXZ5rB29PFdCgXkkw0P131Dfn8LATbtpBJSLdG+h3w28+UFcgrpcgJusWJsn83GKI+XmiNqPkajmLSvdKycN3CSom3pUQC1dErAl8h0UqWOMVP+/RJjffPHLY9NzuLniBZwWAonrcngceB3SRr0Bqpfv/HJGcfUUu4CoCmdSlL3qBOc0XV+WSTQWiBVAqefQKwQs6STUMP1C4RRX3TdkCMi+y1dgAK+xJbTY3EuiouhW87m8nRKraKBY7LKssilt1M18syO4bE72T230H7ETodYMQ6+z+4Q59eM5ZA==,iv:swoOBjVAMVN2+788eCSqoNSFjER30QjJhcPYXr2DS34=,tag:nVaKsKoE+umBPmxj1ojFpw==,type:str] +homepage: ENC[AES256_GCM,data:I8PuoylQxCJ6DzEi5svZy1qdCJfSObFxuW1NMwPjEBKDbtcRa0kW8y1eq/vwp0UqkmPVjxqU/ZgJfrVLRwLZmkoQUwTywCo4OfOKc9WOdL92gzhrX82KiNoZI7Xmz0g6rjA2/c2u/gEMCUdQD8YA22BiPeP0sn8ScjER8Q/8rYZ87Yx7Wlu65BhgesMwD4e5fxwA0wmm/hb29QFi53e2v+/DdvAoyu2/g87c/is3C5Z+j7rKCydtLLlbcQD4WrfKekQjGjpVnOpGMog6i7LpiirVIbnbuerTFsBz0D/fEet23s1UCgwknAWmFB/uUxjNoI8w0T7HLx44VdeiFfhU86gWWbrQqQJTZQpjup6XSvSWUp6ICWrxt7A81jFLJYXVYLRs7uoRWxh/qoEENL5WpYr+fNr81rVQ5x5a0ENH/mK4qJWyCsCxpCbuK4pJRWtXLOxTRBw15SujAKl4uQtORNppkEXcnbmBu0cT0vH4iDAvzsCSDVoD+t23IBQU1/LBuEfCAR9nnlsx+9eBNAgncxEBC/71Dsnnuj8V91eEDp0fcmAeekRgutjQq/yMPH4QGtavK0xhwoOYvdS64TQbTj/uZwjg/VFD8Xc1TCx7c5bDIL5r/VHEIoTVqt3F3RS6ht1J1ycniWHiqWlPd5xOoQekMtAHnMBdQFQbmb3vKEp7pGJR/WzY3NzKXKaE9UgqUrYgjzM5h+pncBsUqG3+yFKh1Q/2NI06L2ZhmPgXs3Bip71c7uPIFybQF7tdz/q2AdCnd+YuS7t8wrB45ziKemgRShzza5xYQwaWSVNbCK2EW1WY1FcPkX+9gDqCkXSXIiYLCisZbSZtcJ8B,iv:xcav4PPIKhJCwr25oqlLWsY42OXOEmlN8JJfUGAB2zM=,tag:L5AuhfNwcUmTbxK/BkmNAg==,type:str] sops: kms: [] gcp_kms: [] @@ -50,8 +50,8 @@ sops: QXRUYWtGcWZCVW11U3VYRktuUjlCbDgKsTK4WhUza/JuoDTU3uATa6fq/8eYzxtb 9BUK1ddzx9Mghea9XBMS17YGtGmW800OsLBomb3SINnOFvejcnKf8Q== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-08-25T19:30:54Z" - mac: ENC[AES256_GCM,data:wQ9L26khPIfE1t1+rvuiopQ4LFI11VPrweGCsUem/MS98jf72ewJFRQDU5syeVW4UrNqSRIzDPShr11/cX57EzMxpeVdENE2C5+ngF8sv3zvVQ3mUeaaTjHYgYjVmeJ/ui5dsrZmDKtd1iYsEvIFAGTBwHJ/85+TBD7l2iUkpdM=,iv:Odh7YZiy/S9Bq0Euk/XD3DCtQwrEscz8YojHkGPjAXs=,tag:dKEw1UTprApEex8m3yblpg==,type:str] + lastmodified: "2024-09-06T04:52:27Z" + mac: ENC[AES256_GCM,data:2yiyPi+nsgbTzZs/r8MITuYOU2KaeuqOdd1o+tYArxdtUZAc81Koz6tjpdDcMlq2omParCU6mwtP7KoXjQ8Y65oC7eBsjbFIEEo5+ZB2NngTNDJCv5XuxFECr+Pr1gHveDAgICUFixLMhQ1QFiCBPcoQzQeFQy6uWA9jqpjW60w=,iv:MjMhtaxXXSGjpc0k5jL4AI2lrWNLjsm9pvjoubU+rmk=,tag:CN15nrQhHhq5GgtqIL0pkw==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1