satdump, gnss, grgsm support
This commit is contained in:
@ -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 */
|
||||
|
@ -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 = {
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user