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 snap = 32; /* snap pixel */
static const unsigned int gappih = 10; /* horiz inner gap between windows */ static const unsigned int gappih = 10; /* horiz inner gap between windows */
static const unsigned int gappiv = 10; /* vert inner gap between windows */ static const unsigned int gappiv = 10; /* vert inner gap between windows */

View File

@ -17,8 +17,6 @@
gnumake gnumake
tree tree
gdb gdb
vscode
neovide
wireshark wireshark
# Command-line utilities # Command-line utilities
@ -28,7 +26,6 @@
vim vim
weechat weechat
ranger ranger
eza
fzf fzf
htop htop
btop btop
@ -42,7 +39,6 @@
nodejs nodejs
gccgo14 gccgo14
go go
dotnet-sdk
bear bear
# Android development # Android development
@ -55,15 +51,10 @@
winetricks winetricks
# Embedded & hardware development # Embedded & hardware development
espup
esphome
esptool esptool
espflash espflash
minicom minicom
pulseview
cp210x-program cp210x-program
arduino-ide
arduino-cli
flashrom flashrom
binwalk binwalk
chirp chirp
@ -82,32 +73,10 @@
# Virtualization # Virtualization
qemu 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 # Miscellaneous
cava cava
vesktop vesktop
pacman
qbittorrent qbittorrent
adwaita-icon-theme
viewnior
]; ];
fonts = { fonts = {

View File

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