satdump, gnss, grgsm support

This commit is contained in:
Sojus07
2025-07-23 23:36:27 +02:00
parent 499a7859ee
commit d6d387ee85
3 changed files with 145 additions and 82 deletions

View File

@ -1,4 +1,4 @@
static const unsigned int borderpx = 0; /* border pixel of windows */
static const unsigned int borderpx = 1; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */
static const unsigned int gappih = 10; /* horiz inner gap between windows */
static const unsigned int gappiv = 10; /* vert inner gap between windows */

View File

@ -17,8 +17,6 @@
gnumake
tree
gdb
vscode
neovide
wireshark
# Command-line utilities
@ -28,7 +26,6 @@
vim
weechat
ranger
eza
fzf
htop
btop
@ -42,7 +39,6 @@
nodejs
gccgo14
go
dotnet-sdk
bear
# Android development
@ -55,15 +51,10 @@
winetricks
# Embedded & hardware development
espup
esphome
esptool
espflash
minicom
pulseview
cp210x-program
arduino-ide
arduino-cli
flashrom
binwalk
chirp
@ -82,32 +73,10 @@
# Virtualization
qemu
# Software Defined Radio (SDR)
noaa-apt
wsjtx
qsstv
gpredict
sdrpp
cubicsdr
gqrx
multimon-ng
gnuradio
gnuradioPackages.lora_sdr
gnuradioPackages.osmosdr
gnuradioPackages.bladeRF
osmo-hlr
osmo-bts
osmo-bsc
osmo-sgsn
osmo-ggsn
# Miscellaneous
cava
vesktop
pacman
qbittorrent
adwaita-icon-theme
viewnior
];
fonts = {

View File

@ -1,58 +1,152 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
{
hardware = {
hackrf = {
enable = true;
};
rtl-sdr = {
enable = true;
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
'';
};
environment.systemPackages =
let
satdump = with pkgs;
stdenv.mkDerivation rec {
pname = "satdump";
version = "1.2.2";
satdump = pkgs.stdenv.mkDerivation rec {
pname = "satdump";
version = "1.2.2";
src = fetchgit {
url = "https://github.com/SatDump/SatDump.git";
rev = version;
sha256 = "sha256-QGegi5/geL5U3/ecc3hsdW+gp25UE9fOYVLFJUo/N50=";
};
src = pkgs.fetchgit {
url = "https://github.com/SatDump/SatDump.git";
rev = version;
sha256 = "sha256-QGegi5/geL5U3/ecc3hsdW+gp25UE9fOYVLFJUo/N50=";
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
# required deps
fftwFloat
libpng
libtiff
jemalloc
volk
(nng.overrideAttrs (old: {
cmakeFlags = old.cmakeFlags ++ [ "-DBUILD_SHARED_LIBS=ON" ];
}))
rtl-sdr-librtlsdr
hackrf
airspy
airspyhf
glfw
zenity
zstd
# optional hw support
libad9361
libiio
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
];
};
in
[
satdump
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
];
}