idiosyn/home/config/nil/music.nix
2024-08-26 13:05:56 +02:00

65 lines
1.2 KiB
Nix

{ ... }: { config, lib, pkgs, ... }@args:
let
osConfig = args.osConfig or { };
systemctl = osConfig.systemd.package + /bin/systemctl;
in lib.mkIf (osConfig.hardware.graphics.enable or false) {
programs.beets = {
enable = true;
settings = {
directory = "~/msc";
import.reflink = "auto";
plugins = [
"chroma"
"spotify"
"fromfilename"
"fetchart"
"lyrics"
"replaygain"
"duplicates"
"hook"
];
hook.hooks = [
{
event = "import";
command = "${systemctl} --user start mopidy-scan.service";
}
];
};
};
services.mopidy = {
enable = true;
extensionPackages = with pkgs; [
mopidy-iris
mopidy-local
mopidy-mpd
mopidy-mpris
];
settings = {
core = {
cache_dir = "$XDG_CACHE_DIR/mopidy";
config_dir = "$XDG_CONFIG_DIR/mopidy";
data_dir = "$XDG_DATA_DIR/mopidy";
};
audio.mixer = "none";
file.media_dirs = [ "$XDG_MUSIC_DIR" ];
local.media_dir = "$XDG_MUSIC_DIR";
mpd.hostname = "localhost";
http = {
hostname = "localhost";
port = 6680;
default_app = "iris";
};
};
};
}