diff --git a/flake.nix b/flake.nix index bd7b721..ff1e871 100644 --- a/flake.nix +++ b/flake.nix @@ -37,7 +37,7 @@ in { nixosConfigurations = { - audio-hauptraum-kueche = nixpkgs.lib.nixosSystem { + audio-hauptraum-kueche = nixpkgs-unstable.lib.nixosSystem { inherit system; modules = [ ./config/common diff --git a/modules/services/audio/default.nix b/modules/services/audio/default.nix index f9aa6b3..ccd7527 100644 --- a/modules/services/audio/default.nix +++ b/modules/services/audio/default.nix @@ -12,6 +12,7 @@ in imports = [ ./librespot.nix ./mpd.nix + ./networking.nix ./pipewire.nix ./shairport-sync.nix ]; diff --git a/modules/services/audio/librespot.nix b/modules/services/audio/librespot.nix index 4c0fadb..fa4e9ed 100644 --- a/modules/services/audio/librespot.nix +++ b/modules/services/audio/librespot.nix @@ -23,7 +23,7 @@ in After = [ "network-online.target" "pipewire.service" ]; }; serviceConfig = { - ExecStart = "${pkgs.librespot}/bin/librespot --name '${config.ccchh.services.audio.name}' --device-type speaker --bitrate 320 --enable-volume-normalisation --disable-audio-cache --disable-credential-cache"; + ExecStart = "${pkgs.librespot}/bin/librespot --name '${config.ccchh.services.audio.name}' --device-type speaker --bitrate 320 --enable-volume-normalisation --disable-audio-cache --disable-credential-cache --quiet"; User = "librespot"; Group = "librespot"; }; @@ -34,7 +34,7 @@ in users.librespot = { isSystemUser = true; group = "librespot"; - extraGroups = [ "pipewire" "audio" ]; + extraGroups = [ "pipewire" ]; }; groups.librespot = { }; }; diff --git a/modules/services/audio/networking.nix b/modules/services/audio/networking.nix new file mode 100644 index 0000000..b0fbf22 --- /dev/null +++ b/modules/services/audio/networking.nix @@ -0,0 +1,16 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + + cfg = config.ccchh.services.audio; + +in + +{ + config = mkIf cfg.enable { + # Disable IPv6, since Shairport-Sync doesn't work with IPv6. Unclear why. + networking.enableIPv6 = false; + }; +} diff --git a/modules/services/audio/shairport-sync.nix b/modules/services/audio/shairport-sync.nix index cbc58e7..1f04862 100644 --- a/modules/services/audio/shairport-sync.nix +++ b/modules/services/audio/shairport-sync.nix @@ -20,7 +20,7 @@ in arguments = "-o pw -v"; }; - users.users.shairport.extraGroups = [ "pipewire" "audio" ]; + users.users.shairport.extraGroups = [ "pipewire" ]; environment.etc.shairport-sync-config = { enable = true;