diff --git a/pkgs/default.nix b/pkgs/default.nix
index e7b6be36b0579fad5e2e04cfa0fb5c41e99ab820..0969e70d47f01ca0d9c87db865ee6dca6bc9a831 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -308,6 +308,14 @@     airspyhf = callPackage ./radio/airspyhf { };
     libad9361 = callPackage ./radio/libad9361 { };
     linrad = callPackage ./radio/linrad { };
     sdrpp = callPackage ./radio/sdrpp { };
+    sigdigger = libsForQt5.callPackage ./radio/sigdigger {
+      inherit sigutils suscan suwidgets;
+    };
+    sigutils = callPackage ./radio/sigutils { };
+    suscan = callPackage ./radio/suscan { };
+    suwidgets = libsForQt5.callPackage ./radio/suwidgets {
+      inherit sigutils;
+    };
 
     ### SUCKLESS
 
diff --git a/pkgs/radio/sigdigger/default.nix b/pkgs/radio/sigdigger/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1ca500977662bb2c05a1d201b3dd06abe8a7c926
--- /dev/null
+++ b/pkgs/radio/sigdigger/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, pkg-config
+, fftwFloat, sigutils, suscan, suwidgets, volk
+, fftw, libsndfile, soapysdr
+}:
+
+mkDerivation rec {
+  pname = "sigdigger";
+  version = "0.2.0-rc1";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "SigDigger";
+    rev = "v${version}";
+    hash = "sha256-OWFPf1iIDhzgV7+pANp7lxzEBhxND0tIhB0VGNOeCak=";
+  };
+
+  nativeBuildInputs = [ qmake pkg-config ];
+
+  buildInputs = [
+    fftwFloat sigutils suscan suwidgets volk
+    fftw libsndfile soapysdr
+  ];
+
+  qmakeFlags = [ "SUWIDGETS_PREFIX=${suwidgets}" "SigDigger.pro" ];
+
+  meta = with lib; {
+    description = "Qt-based digital signal analyzer, using Suscan core and Sigutils DSP library";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/radio/sigutils/default.nix b/pkgs/radio/sigutils/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f68772d8c64b9e80bdccb04332b83d36dbf76ecb
--- /dev/null
+++ b/pkgs/radio/sigutils/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+, fftwFloat, libsndfile, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sigutils";
+  version = "2021-07-17";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = pname;
+    rev = "0b0be80d1c76803a1f463bb68a470d81afcc5101";
+    hash = "sha256-ImeyR6iDIfgu2Pp4JcCzp+pJXVMmPLUps4kHsjsqsxM=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ fftwFloat libsndfile volk ];
+
+  meta = with lib; {
+    description = "Small signal processing utility library";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/radio/suscan/default.nix b/pkgs/radio/suscan/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..560f07f63eca77a6f12b9d9ea5481ba2d9caafb5
--- /dev/null
+++ b/pkgs/radio/suscan/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+, fftwFloat, libsndfile, libxml2, sigutils, soapysdr, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "suscan";
+  version = "2021-07-17";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = pname;
+    rev = "09fd8cf1f220ae707a877107163515114d9eb671";
+    hash = "sha256-KU3JaGIL65LWJWc6Iw/eyKdUMnVQ85g0MtmuSPGdp44=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ fftwFloat libsndfile libxml2 sigutils soapysdr volk ];
+
+  meta = with lib; {
+    description = "Channel scanner based on sigutils library";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/radio/suwidgets/default.nix b/pkgs/radio/suwidgets/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..fe2bf88ac33a679dd841cf651ab81bd57a43d17a
--- /dev/null
+++ b/pkgs/radio/suwidgets/default.nix
@@ -0,0 +1,31 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, pkg-config
+, fftw, sigutils
+}:
+
+mkDerivation rec {
+  pname = "suwidgets";
+  version = "2021-07-17";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "SuWidgets";
+    rev = "c45b2af3b24115335bf993671198f419fa3ed0f7";
+    hash = "sha256-p+kgmtDWuBLlh8IJP5FeximeJSfz9M6Il3SRYz0TJgI=";
+  };
+
+  nativeBuildInputs = [ qmake pkg-config ];
+
+  buildInputs = [ fftw sigutils ];
+
+  qmakeFlags = [ "SuWidgetsLib.pro" "PREFIX=/" ];
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  meta = with lib; {
+    description = "Sigutils-related widgets";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
