diff --git a/flake.lock b/flake.lock index f55e39c..c0c3d52 100644 --- a/flake.lock +++ b/flake.lock @@ -47,11 +47,11 @@ "vdf-src": "vdf-src" }, "locked": { - "lastModified": 1789206464, - "narHash": "sha256-Ek7Ey654derYvbvFKF5KM1Rk+Ky+6X0kDY46pUMpvbo=", + "lastModified": 1789670892, + "narHash": "sha256-ihe1qa4MXUg6vXr1mvYYurWw++wtm5EH/jRsVIaNRH4=", "owner": "KeksNino", "repo": "ASSella-nix", - "rev": "ee77a0b8e2d59389366c619ce3dd6ade4ccfcaf1", + "rev": "40945a46dab9fb81078afcfb4365b78398091b30", "type": "github" }, "original": { @@ -63,16 +63,16 @@ "assella-src": { "flake": false, "locked": { - "lastModified": 1788946812, - "narHash": "sha256-HkIm/qpMBdMHzfyJmHQxrUHMUkSaBNl7sYXPwjercBs=", + "lastModified": 1789644231, + "narHash": "sha256-c+7HJ7Gu5CrN5Od97lAxwaeryyuQVnLUDicvjPl3tD0=", "owner": "niwia", "repo": "ASSella", - "rev": "728a95627c669e96250fca59e9c1964f0de9f634", + "rev": "0d6f2e8576005a90c32251f65f0bb14b7305d590", "type": "github" }, "original": { "owner": "niwia", - "ref": "v2.6.4", + "ref": "v2.6.5", "repo": "ASSella", "type": "github" } @@ -136,11 +136,11 @@ ] }, "locked": { - "lastModified": 1787559586, - "narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=", + "lastModified": 1788450739, + "narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1", + "rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993", "type": "github" }, "original": { @@ -197,11 +197,11 @@ ] }, "locked": { - "lastModified": 1788651960, - "narHash": "sha256-v9wJd32eZ2bvhBzVOd7TIjLQd011P7nwOhjKtWlci5I=", + "lastModified": 1790779675, + "narHash": "sha256-wswYlVaovcex/IMSqGrN/GLlvHN29bgoIXMBoMyLmTI=", "owner": "nix-community", "repo": "home-manager", - "rev": "2c0350c759688177331b8f5242311fae8877bdb3", + "rev": "b75a0703c9ef757386ec3807a55106c2ca64f770", "type": "github" }, "original": { @@ -218,11 +218,11 @@ ] }, "locked": { - "lastModified": 1788229478, - "narHash": "sha256-G0F2rFORVcFkEvVdE/qWQTnYekIc77YP5/vRF9nZlxU=", + "lastModified": 1789430117, + "narHash": "sha256-t+U1mijItLJ64xZOifpfQ17kpAL73nU7pDI48ScacVc=", "owner": "nix-community", "repo": "home-manager", - "rev": "1dc2d1f720ab17fc7981e087346bf54b26d284b1", + "rev": "cda90fd8838825c689fde9d3f3b4e937937790df", "type": "github" }, "original": { @@ -608,11 +608,11 @@ }, "locked": { "dir": "packages/nix", - "lastModified": 1788565178, - "narHash": "sha256-bjItIyGxVAUqaSpr2tdN/YTd8BP2DY+wAmun136LrZs=", + "lastModified": 1790520975, + "narHash": "sha256-kk+bzZx7d+noy1YPrbt2Z0GBUzxKykU/+1clGCIPHQ8=", "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "5cbebb86628767f365de987c451a2839afe153bc", + "rev": "847e0dad6c33ab9f11bdd4e7ca2e90cd26aef416", "type": "github" }, "original": { @@ -625,17 +625,17 @@ "millennium-src": { "flake": false, "locked": { - "lastModified": 1787082953, - "narHash": "sha256-zgr4cdJfye4qunpD3ClNnZ9D1WPGQAXV0CnYwEbB52s=", + "lastModified": 1790436335, + "narHash": "sha256-ghYUa4gPLV/VOflM2zkl/gtdwLWHQpRxG4boQoj4yKM=", "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "513b02e809b0eb120ecf0ae12e548798dd756323", + "rev": "765aa8802f8a4d942ad8ac8323a9e0f233a50fa8", "type": "github" }, "original": { "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "513b02e809b0eb120ecf0ae12e548798dd756323", + "rev": "765aa8802f8a4d942ad8ac8323a9e0f233a50fa8", "type": "github" } }, @@ -700,11 +700,11 @@ }, "nixpkgs-patcher": { "locked": { - "lastModified": 1787266535, - "narHash": "sha256-uvnBghsG8XzMEwW8PH2GnPQRBOxQEyHi6OEMmkx5GSY=", + "lastModified": 1789143781, + "narHash": "sha256-WFr3wYdhSEJd/nQyJuETd6dcS08Exc+qoZWJ2tHM/gg=", "owner": "gepbird", "repo": "nixpkgs-patcher", - "rev": "5f1edc3a7b554c2ddef7e2a79af97dec707c825a", + "rev": "da7c09e478f552c3a9ebb78b2f68426c1855fd81", "type": "github" }, "original": { @@ -747,11 +747,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1788879035, - "narHash": "sha256-puPcHJJbpTDaAUGYO+q2K42eaPT8iXjqQWgq2q1mJ/E=", + "lastModified": 1790786871, + "narHash": "sha256-0TCFPiIKX8V5D/lgdPKy9AyiOpiv4gfV9PgnnFgvapo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97184999c19cca9eb397c564cb1774f81b4c18e1", + "rev": "ab461358c67a43725fd6feabc5515adf1be38d81", "type": "github" }, "original": { @@ -762,11 +762,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1787631388, - "narHash": "sha256-vMiXptXarfSdJb1Gkc+FYVOAibuBRj7qxGa8z68q1Uw=", + "lastModified": 1789724158, + "narHash": "sha256-nlKgrm0dsVhOSopKheVBCcOpiIticufPPVLdVOI0euA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac6b2166e7a9375683b8e98f860f273222337b16", + "rev": "0a3468a402c449992505b6a9fc5b06580141b750", "type": "github" }, "original": { @@ -794,11 +794,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1788179007, - "narHash": "sha256-hn1oU2rue2SYK8dAr8+WNZWtbsz1S2W5mnHlSEuh3bo=", + "lastModified": 1789286504, + "narHash": "sha256-eiEK7cKZORNEvX0GeF3RtNEF/JXhgf2RqSp3230q13E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "34ab99075ac4f7e40cf037eef32cb1c360bb85e9", + "rev": "ef34387ddd751e1ab8857adf4676492d32eb24ec", "type": "github" }, "original": { @@ -815,11 +815,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1788190018, - "narHash": "sha256-59BAfH0txPAZrPBF4QJqwvUWppD+ICrcjA1LZAmPnrQ=", + "lastModified": 1790541651, + "narHash": "sha256-/496IQz8qNWHHLnc3Zvr0l4uxJ34igNhJhn7ZKAefFk=", "owner": "nix-community", "repo": "nixvim", - "rev": "41844750e55f17b1385d5b09ca7ade5f11f49506", + "rev": "5980a626794486abad69fca7667f9c11dfbc3bd7", "type": "github" }, "original": { @@ -898,11 +898,11 @@ ] }, "locked": { - "lastModified": 1788914643, - "narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=", + "lastModified": 1790498116, + "narHash": "sha256-rs9meAYxW3zzrh43yaW7htrqCD+X9+pupDPHN86fumI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "13616fff713a9f94055c66f15687ebdc17a335df", + "rev": "5efb5a6f4f5ab192817d28557dd4d650fa14d866", "type": "github" }, "original": { @@ -1027,16 +1027,16 @@ "xremap": { "flake": false, "locked": { - "lastModified": 1787823445, - "narHash": "sha256-h6aWgV+wlERel7CVhuUG17Pqo6F2V7h5OlaAegHvSz4=", + "lastModified": 1789212631, + "narHash": "sha256-EOZjn1mObQV1C4VevrVdSPRdqw0q5vCLxDJOlIR19C4=", "owner": "k0kubun", "repo": "xremap", - "rev": "7e6649e442ca445b781e4cf0e90c165f86e717db", + "rev": "e60bc3290e5b8fb4c8c4e9dada628570e8476cc1", "type": "github" }, "original": { "owner": "k0kubun", - "ref": "v0.15.12", + "ref": "v0.15.13", "repo": "xremap", "type": "github" } @@ -1049,11 +1049,11 @@ "xremap": "xremap" }, "locked": { - "lastModified": 1788397935, - "narHash": "sha256-8ag5CiJFb0G9kykfrHEEqoHC7up6gHg6utoIjOH7bUA=", + "lastModified": 1790012154, + "narHash": "sha256-3FLWKPpVAb5ujjc9ZjQB1i1loCBcTydzDmfEV81O4O0=", "owner": "xremap", "repo": "nix-flake", - "rev": "3569aeddf628fe918b49d8a65c1ae0d06b2613ea", + "rev": "9ee9db5bcb1a3ef15b65ab1dcd5a7164657368eb", "type": "github" }, "original": { @@ -1068,11 +1068,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1789387191, - "narHash": "sha256-UWMvwIlLV3zF2Mkwus17NfLyBzwBsR/5pHFxrWWGyaA=", + "lastModified": 1790742031, + "narHash": "sha256-zno5kJyjkflDauJgy9NHyoHfhAr0S2kCCMEwaHJ0a6A=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "6a281d7c09c0ed6450c5c948ee9a387390285317", + "rev": "90424e159acc21e53ea76780a3ad9cb5acef7cba", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index eb070b5..f6b2216 100644 --- a/flake.nix +++ b/flake.nix @@ -61,13 +61,13 @@ inherit (inputs) sls-steam bcdl-free - sops-nix ; }; nixpkgsPatcher.inputs = inputs; modules = [ ./hosts/desktop/configuration.nix ./hosts/desktop/hardware-configuration.nix + ./modules/sops.nix ./modules/common.nix ./modules/desktop/xremap.nix ./modules/desktop/flatpak.nix @@ -75,6 +75,7 @@ xremap-flake.nixosModules.default nixvim.nixosModules.nixvim nix-flatpak.nixosModules.nix-flatpak + sops-nix.nixosModules.sops { nixpkgs.overlays = [ millennium.overlays.default @@ -108,7 +109,9 @@ ./hosts/music-server/configuration.nix ./hosts/music-server/hardware-configuration.nix ./modules/common.nix + ./modules/sops.nix home-manager.nixosModules.home-manager + sops-nix.nixosModules.sops { home-manager.users.user = import ./hosts/music-server/home-manager/home.nix; } diff --git a/hosts/music-server/configuration.nix b/hosts/music-server/configuration.nix index 893b71e..7702955 100644 --- a/hosts/music-server/configuration.nix +++ b/hosts/music-server/configuration.nix @@ -9,6 +9,7 @@ ./packages.nix ../../modules/server ../../modules/git.nix + ../../modules/sops.nix ]; nix.settings.experimental-features = [ diff --git a/hosts/music-server/packages.nix b/hosts/music-server/packages.nix index 66233e5..9fa1ecc 100644 --- a/hosts/music-server/packages.nix +++ b/hosts/music-server/packages.nix @@ -22,6 +22,7 @@ nitch openssl nixfmt-tree + nixd (python314.withPackages ( ps: with ps; [ requests diff --git a/modules/server/firewall.nix b/modules/server/firewall.nix index 8a476ce..9d2d00f 100644 --- a/modules/server/firewall.nix +++ b/modules/server/firewall.nix @@ -1,5 +1,6 @@ { networking.firewall.allowedTCPPorts = [ + 2049 5030 3900 3901 diff --git a/modules/server/grafana.nix b/modules/server/grafana.nix index 36cfd62..9a6b9c1 100644 --- a/modules/server/grafana.nix +++ b/modules/server/grafana.nix @@ -14,4 +14,21 @@ analytics.reporting_enabled = false; }; }; + + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "10s"; + scrapeConfigs = [ + { + job_name = "navidrome"; + scheme = "http"; + metrics_path = "/metrics"; + static_configs = [ + { + targets = [ "localhost:4533" ]; + } + ]; + } + ]; + }; } diff --git a/modules/server/navidrome.nix b/modules/server/navidrome.nix index 222d6fc..9da6388 100644 --- a/modules/server/navidrome.nix +++ b/modules/server/navidrome.nix @@ -15,6 +15,7 @@ CoverArtPriority = "embedded, cover.*, folder.*, front.*, jacket.*, *, external"; pid.album = "folder"; Subsonic.DefaultReportRealPath = true; + prometheus.enabled = true; }; }; diff --git a/modules/server/slskd.nix b/modules/server/slskd.nix index d897b66..6c395b0 100644 --- a/modules/server/slskd.nix +++ b/modules/server/slskd.nix @@ -4,6 +4,7 @@ services.slskd = { enable = true; environmentFile = /run/secrets/slskd_secrets; + openFirewall = true; user = "user"; settings = { remote_file_management = true; diff --git a/modules/sops.nix b/modules/sops.nix index 7f6a6e6..fd5d748 100644 --- a/modules/sops.nix +++ b/modules/sops.nix @@ -1,9 +1,5 @@ -{ sops-nix, ... }: +{ ... }: { - imports = [ - sops-nix.nixosModules.sops - ]; - sops = { defaultSopsFile = ../secrets/secrets.yaml; defaultSopsFormat = "yaml"; @@ -14,7 +10,9 @@ owner = "user"; }; - secrets."slskd_secrets" = { }; + secrets."slskd_secrets" = { + owner = "user"; + }; useSystemdActivation = true; };