nix-stuff/roles/server/beets.nix

45 lines
832 B
Nix

{...}: 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"
"chroma"
];
};
};
};
}