Change:
Project description NoiseTorch is an easy to use open source application for Linux with PulseAudio. It creates a virtual microphone that suppresses noise, in any application. Metadata homepage URL: source URL: license: gpl3 platforms: linux language: go
I'll try to package it myself soon.
For those who want to try now before the package is merged go build works ok:

Discussion:
<ins> diff --git a/config.go b/config.go index de16249..fb91ec0 100644 --- a/config.go +++ b/config.go @@ -20,7 +20,7 @@ const configFile = "config.toml" func initializeConfigIfNot() { log.Println("Checking if config needs to be initialized") -	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: true} +	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: false} configdir := configDir() ok, err := exists(configdir) if err != nil { </ins>

<ins> { stdenv, buildGoModule, fetchFromGitHub, rnnoise-plugin }: buildGoModule rec { pname = "NoiseTorch"; version = "0.5.2-beta"; src = fetchFromGitHub { owner = "lawl"; repo = "NoiseTorch"; rev = version; sha256 = "1q0gfpqczlpybxcjjkiybcy6yc0gnrq8x27r0mpg4pvgwy7mps47"; }; patches = [ ./version.patch ./config.patch ./embedlibrnnoise.patch ]; vendorSha256 = null; subPackages = [ "." ]; buildInputs = [ rnnoise-plugin ]; preBuild = '' export RNNOISE_LADSPA_PLUGIN="${rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; go generate; rm  ./scripts/* ''; postInstall = '' mkdir -p $out/share/icons/hicolor/256x256/apps/ cp assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/ mkdir -p $out/share/applications/ cp assets/noisetorch.desktop $out/share/applications/ ''; meta = with stdenv.lib; { description = "Virtual microphone device with noise supression for PulseAudio"; homepage = "https://github.com/lawl/NoiseTorch"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = with maintainers; [ panaeon ]; }; } </ins>

<ins> diff --git a/scripts/embedlibrnnoise.go b/scripts/embedlibrnnoise.go index 43daf80..0b3004b 100644 --- a/scripts/embedlibrnnoise.go +++ b/scripts/embedlibrnnoise.go @@ -8,7 +8,7 @@ import ( ) func main() { -	b, err := ioutil.ReadFile("librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so") +	b, err := ioutil.ReadFile(os.Getenv("RNNOISE_LADSPA_PLUGIN")) if err != nil { fmt.Printf("Couldn't read librnnoise_ladspa.so: %vn", err) os.Exit(1) </ins>

<ins> diff --git a/scripts/embedversion.go b/scripts/embedversion.go index ce0a756..60e7a5e 100644 --- a/scripts/embedversion.go +++ b/scripts/embedversion.go @@ -1,24 +1,18 @@ package main import ( -	"os" -	"os/exec" -	"strings" +        "os" +        "strings" ) func main() { -	cmd := exec.Command("git", "describe", "--tags") -	ret, err := cmd.Output() -	if err != nil { -		panic("Couldn't read git tags to embed version number") -	} -	version := strings.TrimSpace(string(ret)) +        version := strings.TrimSpace(string(os.Getenv("version"))) -	out, _ := os.Create("version.go") -	defer out.Close() +        out, _ := os.Create("version.go") +        defer out.Close() -	out.Write([]byte("package mainnn//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!nnvar version="")) -	out.Write([]byte(version)) -	out.Write([]byte(""n")) +        out.Write([]byte("package mainnn//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!nnvar version="")) +        out.Write([]byte(version)) +        out.Write([]byte(""n")) } </ins>

<ins> { stdenv, SDL2, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { pname = "rnnoise-plugin"; version = "0.9"; src = fetchFromGitHub { owner = "werman"; repo = "noise-suppression-for-voice"; rev = "v${version}"; sha256 = "18bq5b50xw3d4r1ildinafpg3isb9y216430h4mm9wr3ir7h76a7"; }; buildInputs = [ cmake ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; meta = with stdenv.lib; { description = "A real-time noise suppression plugin for voice based on Xiph's RNNoise"; homepage = "https://github.com/werman/noise-suppression-for-voice"; license = licenses.gpl3; platforms = platforms.all; maintainers = with maintainers; [ panaeon ]; }; } </ins>

noise-repellent = callPackage ../applications/audio/noise-repellent { }; <ins> noisetorch = callPackage ../applications/audio/noisetorch { }; </ins> notary = callPackage ../tools/security/notary { }; notify-osd = callPackage ../applications/misc/notify-osd { };

rnnoise = callPackage ../development/libraries/rnnoise { }; <ins> rnnoise-plugin = callPackage ../development/libraries/rnnoise-plugin {}; </ins> rnv = callPackage ../tools/text/xml/rnv { }; rosie = callPackage ../tools/text/rosie { };