From eb2a4ea67ad47ac3c20f40d0f7b25613eb4e5720 Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 12 Sep 2025 01:57:22 +0200 Subject: [PATCH] Server: add beets --- roles/server/beets.nix | 44 ++++++++++++++++++++++++++++++++++++++++ roles/server/default.nix | 1 + 2 files changed, 45 insertions(+) create mode 100644 roles/server/beets.nix diff --git a/roles/server/beets.nix b/roles/server/beets.nix new file mode 100644 index 0000000..7532805 --- /dev/null +++ b/roles/server/beets.nix @@ -0,0 +1,44 @@ +{...}: let + musicDir = "/srv/music"; +in { + users = { + users.music = { + isSystemUser = true; + group = "music"; + }; + # Intended for other programs to get write permission + groups.music = { + members = ["toast"]; + }; + }; + systemd.tmpfiles.settings = { + music."${musicDir}" = { + d = { + age = "-"; + user = "music"; + group = "music"; + mode = "2775"; + }; + }; + }; + + home-manager.users.toast = {config, ...}: { + programs.beets = { + enable = true; + settings = { + directory = musicDir; + library = "${config.xdg.dataHome}/beets/library.db"; + + import = { + move = true; + }; + ui.color = true; + + plugins = [ + "unimported" + "fetchart" + ]; + }; + }; + }; +} diff --git a/roles/server/default.nix b/roles/server/default.nix index e77155f..a9b5937 100755 --- a/roles/server/default.nix +++ b/roles/server/default.nix @@ -19,5 +19,6 @@ ./prometheus.nix ./immich.nix ./copyparty.nix + ./beets.nix ]; }