47 lines
917 B
Nix
47 lines
917 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.modules.mopidy;
|
|
in {
|
|
options.modules.mopidy = {
|
|
enable = mkEnableOption "Enables Mopidy.";
|
|
};
|
|
|
|
config.services.mopidy = mkIf cfg.enable {
|
|
inherit (cfg) enable;
|
|
extensionPackages = with pkgs; [
|
|
mopidy-bandcamp
|
|
mopidy-mpd
|
|
mopidy-mpris
|
|
mopidy-muse
|
|
mopidy-notify
|
|
mopidy-spotify
|
|
];
|
|
extraConfigFiles = [
|
|
config.sops.secrets."mopidy/bandcamp".path
|
|
config.sops.secrets."mopidy/spotify".path
|
|
];
|
|
settings = {
|
|
mpd = {
|
|
enabled = true;
|
|
hostname = "::";
|
|
port = 6600;
|
|
};
|
|
mpris.enabled = true;
|
|
muse = {
|
|
enabled = true;
|
|
mopidy_host = "localhost";
|
|
mopidy_port = 6690;
|
|
mopidy_ssl = false;
|
|
snapcast_host = "localhost";
|
|
snapcast_port = 1780;
|
|
snapcast_ssl = false;
|
|
};
|
|
};
|
|
};
|
|
}
|