Files
nixos-config/home/packages/media/rnnoise.nix
T
jory 205a1ccc8f
CI / Flake check (aarch64-linux) (push) Successful in 1m30s
CI / Flake check (x86_64-linux) (push) Successful in 1m17s
CI / Pre-commit checks (x86_64-linux) (push) Failing after 19s
feat(github): add auto-conventional-commit hook with opencode integration
- Add prepare-commit-msg git hook that generates conventional commit messages
- Modularize fish configuration with separate conf.d files
- Convert configuration files from .text to .source format for structured data
- Add sops-nix SOPS configuration with explicit secret definitions
- Upgrade age identity to single key file management approach
- Add system activation script for age key management
- Generate .sops.yaml for SOPS creation rules
- Restructure README.md with improved table and cleaner formatting
- Refactor config files to use pkgs.formats.json/toml generators
- Implement YAML format for ashell and walker service configurations
- Update SSH config source to use sops secrets
- Convert zed and other config files to use structured .source format
2026-07-12 17:55:52 +02:00

42 lines
1.2 KiB
Nix

{pkgs, ...}: let
configFile = "pipewire/pipewire.conf.d/99-input-denoising.conf";
toJSON = (pkgs.formats.json {}).generate;
in {
users.users.someone.packages = with pkgs; [
rnnoise
rnnoise-plugin
];
xdg.configFile."${configFile}".source = toJSON "99-input-denoising.conf" {
"context.modules" = [
{
"name" = "libpipewire-module-filter-chain";
"args" = {
"node.description" = "Noise Canceling source";
"media.name" = "Noise Canceling source";
"filter.graph" = {
"nodes" = [
{
"type" = "ladspa";
"name" = "rnnoise";
"plugin" = "librnnoise_ladspa";
"label" = "noise_suppressor_stereo";
"control" = {"VAD Threshold (%)" = 50.0;};
}
];
};
"audio.position" = ["FL" "FR"];
"capture.props" = {
"node.name" = "effect_input.rnnoise";
"node.passive" = true;
};
"playback.props" = {
"node.name" = "effect_output.rnnoise";
"media.class" = "Audio/Source";
};
};
}
];
};
}