diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index da3b75cf614..e9f031054c7 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -423,6 +423,20 @@
use nixos-rebuild boot; reboot.
+
+
+ Flat volumes are now disabled by default in hardware.pulseaudio.
+ This has been done to prevent applications, which are unaware of this feature, setting
+ their volumes to 100% on startup causing harm to your audio hardware and potentially your ears.
+
+
+
+ With this change application specific volumes are relative to the master volume which can be
+ adjusted independently, whereas before they were absolute; meaning that in effect, it scaled the
+ device-volume with the volume of the loudest application.
+
+
+
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 67f7105fe2f..e61a3a73120 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -180,7 +180,7 @@ in {
type = types.attrsOf types.unspecified;
default = {};
description = ''Config of the pulse daemon. See man pulse-daemon.conf.'';
- example = literalExample ''{ flat-volumes = "no"; }'';
+ example = literalExample ''{ realtime-scheduling = "yes"; }'';
};
};
@@ -242,6 +242,9 @@ in {
source = writeText "libao.conf" "default_driver=pulse"; }
];
+ # Disable flat volumes to enable relative ones
+ hardware.pulseaudio.daemon.config.flat-volumes = mkDefault "no";
+
# Allow PulseAudio to get realtime priority using rtkit.
security.rtkit.enable = true;