diff --git a/hosts/encryption/default.nix b/hosts/encryption/default.nix index 2b19cc0..44377f8 100644 --- a/hosts/encryption/default.nix +++ b/hosts/encryption/default.nix @@ -20,6 +20,7 @@ (flakeRoot + /modules/common/virtualization.nix) (flakeRoot + /modules/desktop/environments/gnome.nix) + (flakeRoot + /modules/desktop/system/noise-cancellation.nix) ./users ]; diff --git a/modules/desktop/system/noise-cancellation.nix b/modules/desktop/system/noise-cancellation.nix new file mode 100644 index 0000000..f63a4b7 --- /dev/null +++ b/modules/desktop/system/noise-cancellation.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + imports = [ + ../../common/system/audio.nix + ]; + + services.pipewire.extraConfig.pipewire."99-deepfilter-mono-source" = { + "context.modules" = [ + { + name = "libpipewire-module-filter-chain"; + + args = { + "node.description" = "DeepFilter Noise Canceling Source"; + "media.name" = "DeepFilter Noise Canceling Source"; + + "filter.graph" = { + nodes = [ + { + type = "ladspa"; + name = "DeepFilter Mono"; + label = "deep_filter_mono"; + + plugin = "${pkgs.deepfilternet}/lib/ladspa/libdeep_filter_ladspa.so"; + + control = { + "Attenuation Limit (dB)" = 100; + }; + } + ]; + }; + + "audio.rate" = 48000; + "audio.position" = "[MONO]"; + + "capture.props"."node.passive" = true; + "playback.props"."media.class" = "Audio/Source"; + }; + } + ]; + }; +}