diff --git a/flake.lock b/flake.lock index 50ee264..f3bcc10 100644 --- a/flake.lock +++ b/flake.lock @@ -316,11 +316,11 @@ ] }, "locked": { - "lastModified": 1702937117, - "narHash": "sha256-4GjkL2D01bDg00UZN/SeGrnBZrDVOFeZTbQx6U702Vc=", + "lastModified": 1703072477, + "narHash": "sha256-I2g7o+J26iK3sGk53iuaYiMWryzAYx0zhNQUFzTID/A=", "owner": "nix-community", "repo": "home-manager", - "rev": "e8aaced73ebaf6bfa8e3c6ab0a19cb184bc4d798", + "rev": "433120e47d016c9960dd9c2b1821e97d223a6a39", "type": "github" }, "original": { @@ -459,11 +459,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1702830618, - "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=", + "lastModified": 1703013332, + "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835", + "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "type": "github" }, "original": { @@ -492,11 +492,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702830618, - "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=", + "lastModified": 1703013332, + "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835", + "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "type": "github" }, "original": { @@ -508,11 +508,11 @@ }, "nur": { "locked": { - "lastModified": 1703011543, - "narHash": "sha256-zCAKHZ8cTT/J+sr16vLhM5Qlc+O7MbML9xgQa8QTjRc=", + "lastModified": 1703090758, + "narHash": "sha256-gYoLxlB+w+N+G4bLeu76MYSoBCZgC00of4kM4dIDI3o=", "owner": "nix-community", "repo": "NUR", - "rev": "3df75c4890e142d2e4a25ea714eb364e3f770be7", + "rev": "f133fc54e2a2495d19f6020120717240068ce0f3", "type": "github" }, "original": { diff --git a/modules/audio/default.nix b/modules/audio/default.nix index bb00b09..d223bb2 100644 --- a/modules/audio/default.nix +++ b/modules/audio/default.nix @@ -1,6 +1,10 @@ { pkgs, ... }: { + imports = [ + ./sennheiser-hd660s.nix + ]; + security.rtkit.enable = true; services.pipewire = { @@ -15,7 +19,7 @@ wireplumber.enable = true; - extraConfig.pipewire.nixos = { + extraConfig.pipewire."30-noise-filter" = { "context.modules" = [{ name = "libpipewire-module-filter-chain"; args = { diff --git a/modules/audio/sennheiser-hd660s.nix b/modules/audio/sennheiser-hd660s.nix new file mode 100644 index 0000000..ad969e8 --- /dev/null +++ b/modules/audio/sennheiser-hd660s.nix @@ -0,0 +1,183 @@ +{ pkgs, ... }: + +{ + services.pipewire = { + extraConfig.pipewire."20-Senheiser-HD660S" = { + "context.modules" = [{ + name = "libpipewire-module-filter-chain"; + args = { + "node.description" = "Senheiser HD 660 S Equaliser"; + "media.name" = "Senheiser HD 660 S Equaliser"; + "filter.graph" = { + nodes = [ + { + type = "builtin"; + name = "eq_band_1"; + label = "bq_highshelf"; + control = { + "Freq" = 0.0; + "Q" = 1.0; + "Gain" = -6.4; + }; + } + { + type = "builtin"; + name = "eq_band_2"; + label = "bq_lowshelf"; + control = { + "Freq" = 105.0; + "Q" = 0.70; + "Gain" = 6.5; + }; + } + { + type = "builtin"; + name = "eq_band_3"; + label = "bq_peaking"; + control = { + "Freq" = 178.0; + "Q" = 0.49; + "Gain" = -3.2; + }; + } + { + type = "builtin"; + name = "eq_band_4"; + label = "bq_peaking"; + control = { + "Freq" = 1222.0; + "Q" = 2.34; + "Gain" = -2.3; + }; + } + { + type = "builtin"; + name = "eq_band_5"; + label = "bq_peaking"; + control = { + "Freq" = 5470.0; + "Q" = 4.4; + "Gain" = -7.3; + }; + } + { + type = "builtin"; + name = "eq_band_6"; + label = "bq_peaking"; + control = { + "Freq" = 7899.0; + "Q" = 0.68; + "Gain" = 6.5; + }; + } + { + type = "builtin"; + name = "eq_band_7"; + label = "bq_peaking"; + control = { + "Freq" = 784.0; + "Q" = 3.52; + "Gain" = -0.4; + }; + } + { + type = "builtin"; + name = "eq_band_8"; + label = "bq_peaking"; + control = { + "Freq" = 2250.0; + "Q" = 3.58; + "Gain" = 1.3; + }; + } + { + type = "builtin"; + name = "eq_band_9"; + label = "bq_peaking"; + control = { + "Freq" = 3380.0; + "Q" = 2.84; + "Gain" = -0.9; + }; + } + { + type = "builtin"; + name = "eq_band_10"; + label = "bq_peaking"; + control = { + "Freq" = 6701.0; + "Q" = 6.0; + "Gain" = 1.2; + }; + } + { + type = "builtin"; + name = "eq_band_11"; + label = "bq_highshelf"; + control = { + "Freq" = 10000.0; + "Q" = 0.7; + "Gain" = -1.1; + }; + } + ]; + links = [ + { + output = "eq_band_1:Out"; + input = "eq_band_2:In"; + } + { + output = "eq_band_2:Out"; + input = "eq_band_3:In"; + } + { + output = "eq_band_3:Out"; + input = "eq_band_4:In"; + } + { + output = "eq_band_4:Out"; + input = "eq_band_5:In"; + } + { + output = "eq_band_5:Out"; + input = "eq_band_6:In"; + } + { + output = "eq_band_6:Out"; + input = "eq_band_7:In"; + } + { + output = "eq_band_7:Out"; + input = "eq_band_8:In"; + } + { + output = "eq_band_8:Out"; + input = "eq_band_9:In"; + } + { + output = "eq_band_9:Out"; + input = "eq_band_10:In"; + } + { + output = "eq_band_10:Out"; + input = "eq_band_11:In"; + } + ]; + }; + "audio.channels" = 2; + "audio.position" = [ "FL" "FR" ]; + "capture.props" = { + "node.name" = "effect_input.eq11"; + "media.class" = "Audio/Sink"; + }; + "playback.props" = { + "node.name" = "effect_output.eq11"; + "node.passive" = true; + }; + }; + }]; + }; + }; +} + +