205a1ccc8f
- 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
42 lines
1.2 KiB
Nix
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";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|