kekl
This commit is contained in:
@ -3,11 +3,11 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./system/dwm/default.nix
|
./system/dwm/default.nix
|
||||||
./system/editors/nvim/default.nix
|
./system/editors/nvim/default.nix
|
||||||
./system/rf.nix
|
|
||||||
./system/pkgs.nix
|
./system/pkgs.nix
|
||||||
./system/services.nix
|
./system/services.nix
|
||||||
./system/users.nix
|
./system/users.nix
|
||||||
./system/firefox.nix
|
./system/firefox.nix
|
||||||
|
./system/sdr/default.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
neofetch
|
neofetch
|
||||||
fastfetch
|
fastfetch
|
||||||
onefetch
|
onefetch
|
||||||
|
cpufetch
|
||||||
vim
|
vim
|
||||||
weechat
|
weechat
|
||||||
ranger
|
ranger
|
||||||
@ -31,6 +32,7 @@
|
|||||||
btop
|
btop
|
||||||
jq
|
jq
|
||||||
ffmpeg
|
ffmpeg
|
||||||
|
gh-dash
|
||||||
|
|
||||||
# Development & compilers
|
# Development & compilers
|
||||||
rustup
|
rustup
|
||||||
|
@ -1,152 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
gnss-sdr = pkgs.stdenv.mkDerivation rec {
|
|
||||||
pname = "gnss-sdr";
|
|
||||||
version = "0.0.20";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "gnss-sdr";
|
|
||||||
repo = "gnss-sdr";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "sha256-kQv8I4dcWeRuAfYtD5EAAMwvfnOTi+QWDogUZb4M/qQ=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [ cmake pkg-config python3 git ];
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
volk boost fftw protobuf pugixml
|
|
||||||
gnuradio gnuradioPackages.osmosdr
|
|
||||||
armadillo glog gflags spdlog
|
|
||||||
python3Packages.mako blas lapack
|
|
||||||
gnutls openssl zlib hdf5 matio
|
|
||||||
libiio gtest orc
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release"
|
|
||||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
|
||||||
"-DENABLE_OSMOSDR=ON"
|
|
||||||
"-DENABLE_VOLK_GNSSSDR=ON"
|
|
||||||
"-DENABLE_UNIT_TESTING=OFF"
|
|
||||||
"-DENABLE_OWN_GLOG=OFF"
|
|
||||||
"-DENABLE_OWN_ARMADILLO=OFF"
|
|
||||||
];
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
runHook preBuild
|
|
||||||
make volk_gnsssdr_module -j$NIX_BUILD_CORES
|
|
||||||
make volk_gnsssdr_module_install -j$NIX_BUILD_CORES || true
|
|
||||||
make -j$NIX_BUILD_CORES
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
make install
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
satdump = pkgs.stdenv.mkDerivation rec {
|
|
||||||
pname = "satdump";
|
|
||||||
version = "1.2.2";
|
|
||||||
|
|
||||||
src = pkgs.fetchgit {
|
|
||||||
url = "https://github.com/SatDump/SatDump.git";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "sha256-QGegi5/geL5U3/ecc3hsdW+gp25UE9fOYVLFJUo/N50=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [ cmake pkg-config ];
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
fftwFloat libpng libtiff jemalloc volk
|
|
||||||
(nng.overrideAttrs (old: {
|
|
||||||
cmakeFlags = old.cmakeFlags or [] ++ [ "-DBUILD_SHARED_LIBS=ON" ];
|
|
||||||
}))
|
|
||||||
rtl-sdr-librtlsdr hackrf airspy airspyhf
|
|
||||||
glfw zenity zstd libad9361 libiio
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
gr-gsm = pkgs.stdenv.mkDerivation rec {
|
|
||||||
pname = "gr-gsm";
|
|
||||||
version = "porting_to_3.11";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "ptrkrysik";
|
|
||||||
repo = "gr-gsm";
|
|
||||||
rev = "porting_to_3.11";
|
|
||||||
sha256 = "sha256-ILw1n0qdqcqJsuWQ3g1zNP+z2OlJ6sq+AY8LC1lTDJg=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
cmake pkg-config swig doxygen
|
|
||||||
python3 python3Packages.numpy python3Packages.pybind11 python3Packages.pygccxml
|
|
||||||
];
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
python3 python3Packages.numpy python3Packages.pybind11 python3Packages.pygccxml
|
|
||||||
gnuradio gnuradioPackages.osmosdr volk
|
|
||||||
fftw boost cppunit libpcap libosmocore
|
|
||||||
log4cpp gmpxx mpir spdlog
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release"
|
|
||||||
"-DCMAKE_PREFIX_PATH=${pkgs.gnuradio}/lib/cmake"
|
|
||||||
];
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
runHook preBuild
|
|
||||||
make
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
make install
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp -v $src/apps/grgsm_* $out/bin/
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
hardware = {
|
|
||||||
hackrf.enable = true;
|
|
||||||
rtl-sdr.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gnuradio
|
|
||||||
gnuradioPackages.lora_sdr
|
|
||||||
gnuradioPackages.osmosdr
|
|
||||||
gnuradioPackages.bladeRF
|
|
||||||
multimon-ng
|
|
||||||
sdrpp
|
|
||||||
qsstv
|
|
||||||
wsjtx
|
|
||||||
osmo-hlr
|
|
||||||
osmo-bts
|
|
||||||
osmo-bsc
|
|
||||||
osmo-sgsn
|
|
||||||
osmo-ggsn
|
|
||||||
kalibrate-hackrf
|
|
||||||
srsran
|
|
||||||
hackrf
|
|
||||||
rtl-sdr
|
|
||||||
rtl_433
|
|
||||||
gsmlib
|
|
||||||
libsrs2
|
|
||||||
|
|
||||||
# build
|
|
||||||
gnss-sdr
|
|
||||||
satdump
|
|
||||||
gr-gsm
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
47
hosts/default/system/sdr/default.nix
Normal file
47
hosts/default/system/sdr/default.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gnss-sdr = import ./gnss-sdr.nix { inherit pkgs; };
|
||||||
|
satdump = import ./satdump.nix { inherit pkgs; };
|
||||||
|
gr-gsm = import ./gr-gsm.nix { inherit pkgs; };
|
||||||
|
lte-sniffer = import ./lte-sniffer.nix { inherit pkgs; };
|
||||||
|
qcsuper = import ./qcsuper.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
hardware = {
|
||||||
|
hackrf.enable = true;
|
||||||
|
rtl-sdr.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.sdrplayApi.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnuradio
|
||||||
|
gnuradioPackages.lora_sdr
|
||||||
|
gnuradioPackages.osmosdr
|
||||||
|
gnuradioPackages.bladeRF
|
||||||
|
multimon-ng
|
||||||
|
sdrpp
|
||||||
|
qsstv
|
||||||
|
wsjtx
|
||||||
|
osmo-hlr
|
||||||
|
osmo-bts
|
||||||
|
osmo-bsc
|
||||||
|
osmo-sgsn
|
||||||
|
osmo-ggsn
|
||||||
|
kalibrate-hackrf
|
||||||
|
srsran
|
||||||
|
hackrf
|
||||||
|
rtl-sdr
|
||||||
|
rtl_433
|
||||||
|
gsmlib
|
||||||
|
libsrs2
|
||||||
|
soapyhackrf
|
||||||
|
|
||||||
|
gnss-sdr
|
||||||
|
#satdump
|
||||||
|
gr-gsm
|
||||||
|
#lte-sniffer
|
||||||
|
qcsuper
|
||||||
|
];
|
||||||
|
}
|
47
hosts/default/system/sdr/gnss-sdr.nix
Normal file
47
hosts/default/system/sdr/gnss-sdr.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "gnss-sdr";
|
||||||
|
version = "0.0.20";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "gnss-sdr";
|
||||||
|
repo = "gnss-sdr";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-kQv8I4dcWeRuAfYtD5EAAMwvfnOTi+QWDogUZb4M/qQ=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [ cmake pkg-config python3 git ];
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
volk boost fftw protobuf pugixml
|
||||||
|
gnuradio gnuradioPackages.osmosdr
|
||||||
|
armadillo glog gflags spdlog
|
||||||
|
python3Packages.mako blas lapack
|
||||||
|
gnutls openssl zlib hdf5 matio
|
||||||
|
libiio gtest orc
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||||
|
"-DENABLE_OSMOSDR=ON"
|
||||||
|
"-DENABLE_VOLK_GNSSSDR=ON"
|
||||||
|
"-DENABLE_UNIT_TESTING=OFF"
|
||||||
|
"-DENABLE_OWN_GLOG=OFF"
|
||||||
|
"-DENABLE_OWN_ARMADILLO=OFF"
|
||||||
|
];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
make volk_gnsssdr_module -j$NIX_BUILD_CORES
|
||||||
|
make volk_gnsssdr_module_install -j$NIX_BUILD_CORES || true
|
||||||
|
make -j$NIX_BUILD_CORES
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
make install
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
43
hosts/default/system/sdr/gr-gsm.nix
Normal file
43
hosts/default/system/sdr/gr-gsm.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "gr-gsm";
|
||||||
|
version = "porting_to_3.11";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "ptrkrysik";
|
||||||
|
repo = "gr-gsm";
|
||||||
|
rev = "porting_to_3.11";
|
||||||
|
sha256 = "sha256-ILw1n0qdqcqJsuWQ3g1zNP+z2OlJ6sq+AY8LC1lTDJg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
cmake pkg-config swig doxygen
|
||||||
|
python3 python3Packages.numpy python3Packages.pybind11 python3Packages.pygccxml
|
||||||
|
];
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
python3 python3Packages.numpy python3Packages.pybind11 python3Packages.pygccxml
|
||||||
|
gnuradio gnuradioPackages.osmosdr volk
|
||||||
|
fftw boost cppunit libpcap libosmocore
|
||||||
|
log4cpp gmpxx mpir spdlog
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
"-DCMAKE_PREFIX_PATH=${pkgs.gnuradio}/lib/cmake"
|
||||||
|
];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
make
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
make install
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp -v $src/apps/grgsm_* $out/bin/
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
72
hosts/default/system/sdr/lte-sniffer.nix
Normal file
72
hosts/default/system/sdr/lte-sniffer.nix
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "lte-sniffer";
|
||||||
|
version = "LTESniffer-v2.1.0";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "SysSec-KAIST";
|
||||||
|
repo = "LTESniffer";
|
||||||
|
rev = "918d1a3fea4d7633aa8eb170a740916cf21da171";
|
||||||
|
sha256 = "sha256-kbFvpHcqlEpoLkc206jJBLzAFuBGjvDLO9uRaG4+PqE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmnalib = pkgs.fetchgit {
|
||||||
|
url = "https://github.com/falkenber9/c-mnalib.git";
|
||||||
|
rev = "117c7047ccbec4deae5444cb5b69bdae01ddd175";
|
||||||
|
sha256 = "sha256-Rnr9GOv7yn3+bH+HA6htx5EKufC1wNyRzZvUu3pDn/w=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [ cmake git pkg-config ];
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
glib libudev-zero boost gnutls libgnurl nng
|
||||||
|
libsForQt5.qt5.qtdeclarative volk fftwFloat
|
||||||
|
curl libtiff glfw mkl
|
||||||
|
];
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
runHook prePatch
|
||||||
|
|
||||||
|
echo "[INFO] Removing ExternalProject_Add(cmnalib) from cmnalib.CMakeLists.txt.in"
|
||||||
|
sed -i '/ExternalProject_Add(cmnalib/d' external/cmake/cmnalib.CMakeLists.txt.in
|
||||||
|
|
||||||
|
runHook postPatch
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMNALIB_SRC_DIR=${cmnalib}"
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
mkdir -p cmnalib-src
|
||||||
|
cp -r ${cmnalib}/* cmnalib-src/
|
||||||
|
|
||||||
|
cmake -S . -B build $cmakeFlags
|
||||||
|
cmake --build build -j$NIX_BUILD_CORES
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp -v build/apps/* $out/bin/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
description = "Passive LTE Sniffer based on SysSec-KAIST's LTESniffer project";
|
||||||
|
homepage = "https://github.com/SysSec-KAIST/LTESniffer";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ sojus07 ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
24
hosts/default/system/sdr/qcsuper.nix
Normal file
24
hosts/default/system/sdr/qcsuper.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "qcsuper";
|
||||||
|
version = "2.0.1";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "P1sec";
|
||||||
|
repo = "QCSuper";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-m75yoFO+NR5WyckmJfPtjXAajbDHB2PFBc7sznVQnw8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
python3 python3Packages.setuptools
|
||||||
|
python3Packages.pyserial wireshark
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp qcsuper.py $out/bin/qcsuper
|
||||||
|
chmod +x $out/bin/qcsuper
|
||||||
|
'';
|
||||||
|
}
|
25
hosts/default/system/sdr/satdump.nix
Normal file
25
hosts/default/system/sdr/satdump.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "satdump";
|
||||||
|
version = "1.2.2";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "SatDump";
|
||||||
|
repo = "SatDump";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-+Sne+NMwnIAs3ff64fBHAIE4/iDExIC64sXtO0LJwI0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [ cmake pkg-config ];
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
fftwFloat libpng libtiff jemalloc volk
|
||||||
|
rtl-sdr-librtlsdr hackrf airspy airspyhf
|
||||||
|
glfw zenity zstd libad9361 libiio
|
||||||
|
curlFull.dev curlFull.out armadillo
|
||||||
|
mbedtls nng opencl-headers hdf5
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
];
|
||||||
|
}
|
Reference in New Issue
Block a user