45 lines
832 B
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"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|