panacea/modules/audio.nix

72 lines
1.4 KiB
Nix

{ config, lib, pkgs, ... }:
{
# Enable ALSA
sound.enable = true;
# Configure PulseAudio with mopidy tweaks
hardware.pulseaudio = {
enable = true;
tcp = {
enable = true;
anonymousClients.allowedIpRanges = [ "127.0.0.1" ];
};
};
# Set up Mopidy
services.mopidy = {
enable = true;
extensionPackages =
[ pkgs.mopidy-mpd pkgs.mopidy-soundcloud pkgs.mopidy-youtube ];
configuration = ''
[core]
cache_dir = $XDG_CACHE_DIR/cache/mopidy
config_dir = $XDG_CONFIG_DIR/mopidy
data_dir = $XDG_DATA_DIR/lib/mopidy
[logging]
config_file = $XDG_CONFIG_DIR/mopidy/logging.conf
[audio]
mixer = software
mixer_volume =
output = pulsesink server=127.0.0.1
visualizer =
[file]
enabled = true
media_dirs = /home/coolneng/Music
excluded_file_extensions =
.directory
.html
.jpeg
.jpg
.log
.nfo
.png
.txt
[mpd]
enabled = true
hostname = 127.0.0.1
port = 6600
password =
max_connections = 20
zeroconf = ""
[http]
enabled = false
[soundcloud]
enabled = false
[m3u]
playlists_dir = /home/coolneng/.config/mpd/playlists
base_dir = /home/coolneng/Music
'';
};
# Give permissions to mopidy user
users.users.mopidy = { extraGroups = [ "audio" ]; };
}