diff --git a/flake.nix b/flake.nix index 5811732..b1fa3fe 100644 --- a/flake.nix +++ b/flake.nix @@ -81,7 +81,7 @@ ); }; in - rec { + { # custom pkgs packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); @@ -191,10 +191,8 @@ imports = [ inputs.disko.nixosModules.disko inputs.sops-nix.nixosModules.sops - nixosModules.bandcamp-collection-downloader - nixosModules.namespaced-vpn - nixosModules.storagebox - nixosModules.wrtagweb + inputs.self.nixosModules.namespaced-vpn + inputs.self.nixosModules.storagebox ./hosts/servers/common.nix @@ -216,7 +214,7 @@ meta = { nixpkgs = import nixpkgs { system = "aarch64-linux"; - overlays = [ overlays.unstable-packages ]; + overlays = [ ]; }; }; } diff --git a/hosts/servers/hosting-02.nix b/hosts/servers/hosting-02.nix index 4b0993e..b6eb4d8 100644 --- a/hosts/servers/hosting-02.nix +++ b/hosts/servers/hosting-02.nix @@ -1,6 +1,5 @@ { config, - pkgs, ... }: { @@ -57,11 +56,7 @@ users.groups.storage = { name = "storage"; gid = 491729; - members = [ - "slskd" - "wrtagweb" - "bandcamp-collection-downloader" - ]; + members = [ "slskd" ]; }; services.nginx.virtualHosts."sls.escapeangle.com" = { @@ -91,21 +86,6 @@ }; }; - environment.systemPackages = with pkgs; [ - unstable.wrtag - ]; - - services.wrtagweb = { - enable = true; - settings.web-api-key = "test"; - }; - - services.bandcamp-collection-downloader = { - enable = true; - bandcampUser = "lander"; - cookiesFile = config.sops.secrets.bandcampcdCookieFile.path; - }; - sops = { defaultSopsFile = ./hosting-02.yaml; secrets = { @@ -121,9 +101,6 @@ slskdEnvFile = { owner = config.services.slskd.user; }; - bandcampcdCookieFile = { - owner = "bandcampcd"; - }; }; }; diff --git a/hosts/servers/hosting-02.yaml b/hosts/servers/hosting-02.yaml index 8fc7c8a..a210d37 100644 --- a/hosts/servers/hosting-02.yaml +++ b/hosts/servers/hosting-02.yaml @@ -2,7 +2,6 @@ wireguardKey: ENC[AES256_GCM,data:Z239oQMzOp4C33pBePuANX3aPkmjTcrT+Z/UY0dnUCmMOs storageboxKey: ENC[AES256_GCM,data:uWDkiWIk3OePRfoaqjllVlRVzW5+ryE4sIOs8qm6cS8JN/+YFbnkCsT5sdFeXSpJyQ7ymgD6uJJ75RWH6Y/iIARbmZN/x/9hnB3LORHSl/C0F3xMHUf6prXtYyPNLWe+ghCMygaLyvBuCBiEhleevRQANXLUJCysiODepSkXwyasAHKTKuKQUPU/T+1R7eXaQPDMehzD4/0o8SdLkqcZXBQzs3VRp+CbQyl7dx6znwoPWckmFH2W+9fZCE+AxFxBP3jPVjBPuOC3BviTYFSvZPEkmtH+lxYv+PXFAPpgYwmAEjCwWyDMDRy6bNVQIG6TKHn60TJv+GCfRwPJ46mVtbruyil23d7g/V7dhu8btPbgtvcBx/8EexJ0PHAVWcIZ1FJwr7inMCAghbSDD3CkGpOV8btaYgUZtosqfg9r5cd75jB+7RZPwyb8/1mrLWE3eL9Za2lZ6bC7a9AeIn1q3Cn6+aoMKqXp8q/sVwozNpUJj73yhjR146MGjCGpqoKJqK453qc3VCC50OZTOULV,iv:sEwA6zrK6FFqTmVJOMD77g0OuDjCHDLRBlirjhZBx/0=,tag:z1fX+7goXk4U6Di+4EK6Fw==,type:str] storageboxCryptKey: ENC[AES256_GCM,data:ryYOzFvdPaVkOHmypYbqw+KU6aB2OQutLw==,iv:FL4c7P36qxYR1KJlg7t0dvFHlKGMIrTlQG+CDkeJu9U=,tag:Ia4mhV9Ed/m1rRMCNnHqXw==,type:str] slskdEnvFile: ENC[AES256_GCM,data:K1S1PXQMiBoEdbuM/NTBUYRrUSnAC/KBhm/PFzoCJATiLLPsstzgqzbe9vG8tnULb2driAH4Ytd03cmROp30V+9vW6J9eyCofWySWZNEYriRfY1y7y5AR8W13zQL0FGZOewUy/1T7YRvN8FjZFh4n7S3c0GREX3FSSNrmaHwOqgueDs=,iv:VziNMRpC2clhFyOMG8LRReMGUxhYqjUaZeA8gh599aM=,tag:H1tQBZ8nSgATSJB6nFSdlA==,type:str] -bandcampcdCookieFile: ENC[AES256_GCM,data:vHw7utB2mAUiys+zBNpGDW9URdSMkWbvv0bZyNUgbDwHkg0ZkbxHBbnspbU4gM5AmUc0OPKjgoqaLEfy+mrylfyXxdKyVlLWGVDwH/9SjsgLjNWBnZOfS0/JN0h8nD9DDfQ9+KVKwfnndIBDwc3Qr+/uQe88JOWeN27ZZoqMXAA7y92aHAn/cdjV9opJL3zq2Gk9ZSjW6pX0W382/+P2d+n5pvnJCGaVcz6NqYj36V7eu+jqtCdpN0ugb7bEQLBEPxN6vDkB1EaWiuI+JXUqPyAlyRqH/9D9IKFu+HWVjryz6WILkJ8rpAEKUtgr4DUDgW/ukTp8/gCe/w126YljuGYj283WYZOTJQHnNdqZFur1qmIosSRLzw4atnD1CAEpZzHFXGz19wMk5+U3OkPQkC/PxmzhqQlyKw7JQ8rNu+WTcHmF3YqYZjtPj1aayXxLqQ9IbZOwXwa0BLRZX7FOFJz/znQa7kR2VE5/Q8vbYA3sz0gBQiIcl8VSzGtQlVM7K+TtkiUSA4DwKH+deSlUnjauIsLldENlbOWwDdm+ckdIRUUuIXiHRq9VM+1UPJdxLGScsPUgsIMZckIkdcEXDyBo3HPdwvQ0lX2msqTIyJxgBMyvSC37Frb0l7hiE6j5HndLv0nfT8krik12WpfR9PKjJqy6kIl3fwSwTqNHA7yPeQKHR8QizGXmkwxEBtsYufKE0Oi1u7VUwwyJe9IU2Gkr0TQYiHo7Glg0lNtkrpPIM+hOjxJJE2MVRe+S117RluvvfEjAmEhyb9cjW+TAw3kQttwO2vMk+RHV3mFF5G2/0tmRbvpbou68eFDDOBQ8ILrUo35GuR8ziPXJeJ+5EuCgePGavEP4qX4FX/GpnMEo85b6m5Vow5EOu8dakHX4fcFTPQeCZ0FoLTGYzGxqUsMG4E8upsPZMw4xBxeVjQO35l4FVhwNyrsIaep1mZWf5vBgAN4q2FYyfJ7jnClJkSrNxg0zW8sEgqEZXIZcFfhPYC1DWZZRMII5n8zJXoeGHDLEIuT4zeIpoXRN3+S4X3AFL4I/gm6mAbFQv3IJ8+g/EOThTZh0PRl70v0Imd3EDetjy4rKphPDpeb6QJWPQkWnIcIeE7Nkg19VoOcWmL8UDxUpsD0NIL1QSZ5ElBuoFVsKuOlkBD5UucLOGZgF01n4BXQjZ9DIW1xBm3lWDDxzuwh4F1rf2MvgesZCEGVn/Y3VF3YMGgdhxLht4IHo4w6z7Rzuh53acf6TH+uZ+iOmFaBETlxA17n6YyaCVzjCuyBNxAxTvX0y+49saYctF9PExYwoKtKL2X9u8NR2OoZJi+TPVfLwBxSrrr9et7Kxhlqu2zxqzWRt7xQXUxWL28HqZljBZxpOxdhy9XLCr3Aj2aZa1mH7zFX5hincsT/RiHEMdOXNUtJoQvBFe/HZ+uquM42Q90qf0alO+VT7kpa5anHLMfzwRKub6W7eFbTe5CD9SybwRDnB503WyreTUmDgIJNwoqePC+WYrW1RnBhI8ebdGl+34ou5CuJldqa1UTEzJNeNqCWLzrP/ThAcJRqmZJ945na6mmQqxhRp2edGu5+tIP3FzoHK2hUOlPyv5CgWGwXLCE0E1kP9Acpex53Wz/NxEa5eTB3ZlwsXNeI2fx4rwyAgtTVMQbzvuf3bVgIAN73I5mRfHRdTeKyQqgShtbEIoz2Q5TGvFNl2ALJ4bJzOVRo2LkUYTGHHH2x623o29fN8Ij35DRabVJyt1y5QGwVNWco=,iv:dgV9d8sRSwyNlW3lWZ6ldWw9+Fxs0Wmn1jhRxg5Pkfs=,tag:ZY3frrrk5/bBgx5lRMYvGg==,type:str] sops: age: - recipient: age1hvrssz7k9akz66evj4kja53zvdtrss8k2ljxsh5myh2mru62sggqznlzrt @@ -14,8 +13,8 @@ sops: b1ZqUzZLUkFwNHJyVlhmK0FOZ1JFYUEKDU4NmBCHRY+ZK+RFK/LioGzjJTaOE1ky MC6jxt7Y5RkCk0BBqeoEVLaNXNViPjwakbvyfH0w0P6l0KDJ4mNlYQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-09-22T13:13:34Z" - mac: ENC[AES256_GCM,data:Dyy+fNjzpaYcQt5eBC5ibObkpW0qnsT47owGdHNUl1DqRpy4HtnjmHjAIyjeBJn+sE26KrlOS8t7UFUXmw6dRXii8By025YUSytuWUqmBQFS2lB3a8qlPfsxLh64VK0OEfpQleBQXhQV6tKXaCUF1hb0KkN6tyeKtGOK+lfKlUU=,iv:455vimOrZ69X5O6kwkMyZ5vEJNwGOqrZWyKXaOk6PAg=,tag:OVIDGC8dRi9CYwiQAM+hGg==,type:str] + lastmodified: "2025-09-20T23:35:47Z" + mac: ENC[AES256_GCM,data:idOk0S4lGYWOPHayOgqX0oKk8cWmm9YUXbAIDlojOmroE8qL45nBMNpb6npuA7wGoHWsg8kYCidi8v8Gz+dGnEMURdcT7NoqcgtDWisYxyw5sMQ52Wc+pNQzct34FGnIVcuQl/kFWEc5s7+jsXCiF5o0YbJLeyr6tyl1D2rWKkw=,iv:6n69rCiyETkV3hnGvAhxd3o+DcDI/Se7JMIs4fsDdag=,tag:Lf7lXw0dhgRqb7lnbJ2H6g==,type:str] pgp: - created_at: "2025-09-18T21:32:42Z" enc: |- diff --git a/modules/nixos/bandcamp-collection-downloader.nix b/modules/nixos/bandcamp-collection-downloader.nix deleted file mode 100644 index b0654d0..0000000 --- a/modules/nixos/bandcamp-collection-downloader.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; -let - cfg = config.services.bandcamp-collection-downloader; -in -{ - options.services.bandcamp-collection-downloader = { - enable = mkEnableOption "Bandcamp Collection Downloader"; - - bandcampUser = mkOption { - type = types.str; - }; - - cookiesFile = mkOption { - type = types.path; - }; - - downloadFolder = mkOption { - type = types.str; - default = "/data/bandcamp"; - }; - - audioFormat = mkOption { - type = types.str; - default = "flac"; - }; - }; - - config = mkIf cfg.enable { - users.users.bandcampcd = { - enable = true; - isSystemUser = true; - group = "bandcampcd"; - }; - users.groups.bandcampcd = { }; - - systemd.services."bandcamp-collection-downloader" = { - description = "Synchronize Bandcamp library"; - requires = [ "network-online.target" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = pkgs.writers.writeBash "bandcamp-sync" '' - ${pkgs.bandcamp-collection-downloader}/bin/bandcamp-collection-downloader ${cfg.bandcampUser} \ - --cookies-file ${cfg.cookiesFile} \ - --download-folder ${cfg.downloadFolder} \ - --audio-format ${cfg.audioFormat} - ''; - }; - }; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 157829c..9647026 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,7 +1,5 @@ { # my-module = import ./my-module.nix - bandcamp-collection-downloader = import ./bandcamp-collection-downloader.nix; namespaced-vpn = import ./namespaced-vpn.nix; storagebox = import ./storagebox.nix; - wrtagweb = import ./wrtagweb.nix; } diff --git a/modules/nixos/wrtagweb.nix b/modules/nixos/wrtagweb.nix deleted file mode 100644 index f998b64..0000000 --- a/modules/nixos/wrtagweb.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.services.wrtagweb; - settingsFormat = pkgs.formats.keyValue { - mkKeyValue = lib.generators.mkKeyValueDefault { } " "; - listsAsDuplicateKeys = true; - }; -in -{ - options = { - services.wrtagweb = { - - enable = lib.mkEnableOption "wrtag web"; - - settings = lib.mkOption rec { - type = settingsFormat.type; - apply = lib.recursiveUpdate default; - default = { - web-listen-addr = "127.0.0.1:7373"; - path-format = "/data/music/{{ artists .Release.Artists | sort | join \"; \" | safepath }}/({{ .Release.ReleaseGroup.FirstReleaseDate.Year }}) {{ .Release.Title | safepath }}{{ if not (eq .ReleaseDisambiguation \"\") }} ({{ .ReleaseDisambiguation | safepath }}){{ end }}/{{ pad0 2 .TrackNum }}.{{ len .Tracks | pad0 2 }} {{ if .IsCompilation }}{{ artistsString .Track.Artists | safepath }} - {{ end }}{{ .Track.Title | safepath }}{{ .Ext }}"; - }; - description = '' - Configuration for wrtagweb - ''; - }; - - }; - }; - - config = lib.mkIf cfg.enable { - users.users.wrtagweb = { - enable = true; - isSystemUser = true; - group = "wrtagweb"; - }; - users.groups.wrtagweb = { }; - - systemd.services.wrtagweb = { - description = "wrtagweb"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = "wrtagweb"; - ExecStart = "${pkgs.unstable.wrtag}/bin/wrtagweb -config-path ${settingsFormat.generate "wrtagweb" cfg.settings}"; - }; - }; - }; -}