pounder_test/shell.nix

92 lines
2.1 KiB
Nix

let
rust_overlay = import (builtins.fetchTarball
"https://github.com/oxalica/rust-overlay/archive/master.tar.gz");
pkgs = import <nixpkgs> { overlays = [ rust_overlay ]; };
rust_channel = pkgs.rust-bin.fromRustupToolchainFile ./nix/rust-toolchain;
mqtt-explorer = pkgs.callPackage ./nix/mqtt-explorer.nix {} ;
gmqtt = pkgs.python3Packages.buildPythonPackage rec {
name = "gmqtt";
version = "v0.6.10";
src = pkgs.fetchFromGitHub {
owner = "wialon" ;
repo = "gmqtt";
rev = "50bc08300d858c6e28d4975a989be578954bf7bd" ;
sha256 = "1f51x3vkpkqa20mdqqakyk9ms7l5p3i4masrfhc6n7cr45qfr5fz";
};
buildInputs = [
(pkgs.python3.withPackages(ps: [
ps.codecov
ps.pytest-asyncio
ps.pytest
ps.pytestcov
ps.six
ps.uvloop
]))
];
propagatedBuildInputs = with pkgs.python3Packages; [ setproctitle ];
meta = {
homepage = "https://github.com/wialon/gmqtt";
description = "gmqtt";
};
};
miniconf = pkgs.python3Packages.buildPythonPackage rec {
name = "miniconf";
src = ./miniconf-mqtt;
propagatedBuildInputs = with pkgs.python3Packages; [ gmqtt setuptools ];
};
stabilizer = pkgs.python3Packages.buildPythonPackage rec {
name = "stabilizer" ;
src = ./py;
propagatedBuildInputs = with pkgs.python3Packages; [ setuptools ];
};
in
pkgs.mkShell {
buildInputs = [
(pkgs.python3.withPackages(ps: [
# List desired Python packages here.
ps.numpy
ps.setuptools
ps.matplotlib
gmqtt
stabilizer
miniconf
]))
# List desired non-Python packages here
# dfu ... for usb flashing
pkgs.libtool
rust_channel
pkgs.pkg-config
pkgs.libusb1
pkgs.dfu-util
pkgs.gcc-arm-embedded-8
pkgs.stlink
pkgs.mosquitto
pkgs.gdb
pkgs.automake
pkgs.autoconf
pkgs.texinfo
pkgs.libftdi
mqtt-explorer
];
shellHook = ''
export PATH="/home/$USER/.cargo/bin:$PATH"
'';
}