kekl
This commit is contained in:
@ -3,11 +3,11 @@
|
||||
imports = [
|
||||
./system/dwm/default.nix
|
||||
./system/editors/nvim/default.nix
|
||||
./system/rf.nix
|
||||
./system/pkgs.nix
|
||||
./system/services.nix
|
||||
./system/users.nix
|
||||
./system/firefox.nix
|
||||
./system/sdr/default.nix
|
||||
];
|
||||
|
||||
hardware = {
|
||||
|
@ -23,6 +23,7 @@
|
||||
neofetch
|
||||
fastfetch
|
||||
onefetch
|
||||
cpufetch
|
||||
vim
|
||||
weechat
|
||||
ranger
|
||||
@ -31,6 +32,7 @@
|
||||
btop
|
||||
jq
|
||||
ffmpeg
|
||||
gh-dash
|
||||
|
||||
# Development & compilers
|
||||
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