diff --git a/global/io/default.nix b/global/io/default.nix index 7d70afe7..9763ec11 100644 --- a/global/io/default.nix +++ b/global/io/default.nix @@ -30,11 +30,15 @@ in { networking.firewall.logRefusedConnections = true; hardware.bluetooth.enable = mkDefault cfg.bluetooth; - hardware.pulseaudio = mkIf cfg.audio { + # rtkit is optional but recommended + security.rtkit.enable = cfg.audio; + services.pipewire = mkIf cfg.audio { enable = true; - support32Bit = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; }; - #nixpkgs.config.pulseaudio = mkIf cfg.audio; security.pam.loginLimits = mkIf (!cfg.coredump) (singleton { domain = "*"; item = "core"; type = "hard"; value = "0"; }); systemd.coredump.extraConfig = mkIf (!cfg.coredump) "Storage=none"; @@ -47,5 +51,8 @@ in { optional cfg.bluetooth "/var/lib/bluetooth" ++ optional cfg.coredump "/var/lib/systemd/coredump"; environment.persistence."/nix/persist/fhs".hideMounts = true; + + users.home.persist.directories = [ ] ++ + optional cfg.audio ".local/state/wireplumber"; }; }