panacea/modules/audio.nix

90 lines
1.8 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
2020-06-01 19:38:59 +02:00
let
soundcloud_token =
builtins.readFile /home/coolneng/.config/mopidy/soundcloud-auth;
in {
# Enable ALSA
sound.enable = true;
2021-03-22 16:27:03 +01:00
# Configure pipewire as sound server
services.pipewire = {
enable = true;
2021-03-22 16:27:03 +01:00
alsa = {
enable = true;
2021-03-22 16:27:03 +01:00
support32Bit = true;
};
2021-03-22 16:27:03 +01:00
pulse.enable = true;
jack.enable = true;
config.pipewire-pulse."context.modules" = [
{
"args" = { };
"flags" = [ "ifexists" "nofail" ];
"name" = "libpipewire-module-rtkit";
}
{ "name" = "libpipewire-module-protocol-native"; }
{ "name" = "libpipewire-module-client-node"; }
{ "name" = "libpipewire-module-adapter"; }
{ "name" = "libpipewire-module-metadata"; }
{
"args" = { "server.address" = [ "unix:native" "tcp:4713" ]; };
"name" = "libpipewire-module-protocol-pulse";
}
];
};
2021-03-22 16:27:03 +01:00
security.rtkit.enable = true;
# Set up Mopidy
services.mopidy = {
enable = true;
2020-11-25 00:24:04 +01:00
extensionPackages = with pkgs; [
mopidy-mpd
mopidy-soundcloud
mopidy-youtube
2020-11-25 00:24:04 +01:00
mopidy-somafm
mopidy-local
];
configuration = ''
[audio]
mixer_volume =
output = pulsesink server=127.0.0.1
visualizer =
2020-11-01 12:27:56 +01:00
[local]
media_dir = /home/coolneng/Music
excluded_file_extensions =
.directory
.html
.jpeg
.jpg
.log
.nfo
.png
.txt
[mpd]
zeroconf = ""
[http]
enabled = false
[soundcloud]
2021-01-12 15:07:04 +01:00
enabled = true
2020-06-01 19:38:59 +02:00
auth_token = ${soundcloud_token}
explore_songs = 100
[m3u]
playlists_dir = /home/coolneng/.config/mpd/playlists
base_dir = /home/coolneng/Music
2020-10-05 12:48:44 +02:00
[youtube]
search_results = 50
2020-11-17 01:26:37 +01:00
[somafm]
encoding = aac
quality = highest
'';
};
}