diff --git a/configs/default.nix b/configs/default.nix index d72fa85..479f9a5 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -70,31 +70,6 @@ in { home-manager.users.me.xdg.enable = true; home-manager.users.me.dconf.enable = false; } - { - sound.enable = true; - - hardware.pulseaudio = { - enable = true; - package = pkgs.pulseaudioFull; - # copy server:/run/pulse/.config/pulse/cookie to client:~/.config/pulse/cookie to authenticate a client machine - zeroconf.discovery.enable = true; - extraConfig = '' - load-module ${ - toString [ - "module-tunnel-sink-new" - "server=zaatar.r" - "sink_name=zaatar" - "channels=2" - "rate=44100" - ] - } - ''; - }; - - users.users.me.extraGroups = ["audio"]; - - environment.systemPackages = [pkgs.pavucontrol pkgs.ncpamixer pkgs.pamixer pkgs.pulsemixer]; - } { environment.interactiveShellInit = "export PATH=$PATH:$HOME/projects/niveum"; environment.shellAliases = let @@ -266,6 +241,7 @@ in { ./seafile.nix ./ssh.nix ./sshd.nix + ./sound.nix ./sudo.nix ./nsxiv.nix ./themes.nix diff --git a/configs/sound.nix b/configs/sound.nix new file mode 100644 index 0000000..b99cbf7 --- /dev/null +++ b/configs/sound.nix @@ -0,0 +1,41 @@ +{pkgs, ...}: { + sound.enable = true; + + # realtime audio for pulseaudio + security.rtkit.enable = true; + + services.pipewire = { + enable = true; + systemWide = false; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + + # config.pipewire-pulse = {}; + }; + + hardware.pulseaudio = { + enable = false; + package = pkgs.pulseaudioFull; + # copy server:/run/pulse/.config/pulse/cookie to client:~/.config/pulse/cookie to authenticate a client machine + zeroconf.discovery.enable = true; + extraConfig = '' + load-module ${ + toString [ + "module-tunnel-sink-new" + "server=zaatar.r" + "sink_name=zaatar" + "channels=2" + "rate=44100" + ] + } + ''; + }; + + users.users.me.extraGroups = ["pipewire" "audio"]; + + environment.systemPackages = [pkgs.pavucontrol pkgs.ncpamixer pkgs.pamixer pkgs.pulsemixer]; +}