diff --git a/README b/README index 24d732a..8de69f5 100644 --- a/README +++ b/README @@ -8,3 +8,5 @@ * sudo nixos-rebuild boot * sudo nix-collect-garbage -d * history clear + +Add-on for Boosters: uncomment packages in configuration.nix before auto-install. diff --git a/booster/gmqtt.nix b/booster/gmqtt.nix new file mode 100644 index 0000000..d6a8312 --- /dev/null +++ b/booster/gmqtt.nix @@ -0,0 +1,32 @@ +{ stdenv, lib, python3Packages, fetchFromGitHub, fetchgit, makeWrapper, pkgs }: + +python3Packages.buildPythonPackage rec { + name = "gmqtt"; + version = "v0.6.12"; + src = fetchFromGitHub { + owner = "wialon"; + repo = "gmqtt"; + rev = "190d12156890efcfc5099fea0f7ef3ce072c4a27"; + sha256 = "sha256-lhvRRZsrJy2U7b705GTlquAP/LwKEmInuVC4zzivmKk="; + }; + + buildInputs = [ + (pkgs.python3.withPackages (ps: [ + ps.codecov + ps.pytest-asyncio + ps.pytest + ps.pytestcov + ps.six + ps.uvloop + ps.more-itertools + ps.atomicwrites + ])) + ]; + + propagatedBuildInputs = with pkgs.python3Packages; [ setproctitle ]; + + meta = { + homepage = "https://github.com/wialon/gmqtt"; + description = "gmqtt"; + }; +} \ No newline at end of file diff --git a/booster/miniconf.nix b/booster/miniconf.nix new file mode 100644 index 0000000..2f54f31 --- /dev/null +++ b/booster/miniconf.nix @@ -0,0 +1,20 @@ +{ stdenv, lib, python3Packages, callPackage, fetchgit, makeWrapper }: + +let gmqtt = callPackage ./gmqtt.nix { }; +in python3Packages.buildPythonPackage rec { + pname = "miniconf"; + version = "0.1.0"; + src = fetchgit { + url = "https://github.com/quartiq/miniconf"; + rev = "01caac4adb3f81cbcd34d8a48087f5df962c096f"; + sha256 = "sha256-Gco56sl2mQ2y+M1evzLhtuFvrhJZbAvbIq7N6J9uiFE="; + }; + prePatch = '' + cd py/miniconf-mqtt + ''; + doCheck = false; + propagatedBuildInputs = [ + # Specify dependencies + gmqtt + ]; +} \ No newline at end of file diff --git a/booster/mqtt-explorer.nix b/booster/mqtt-explorer.nix new file mode 100644 index 0000000..6a826b8 --- /dev/null +++ b/booster/mqtt-explorer.nix @@ -0,0 +1,18 @@ +{ stdenvNoCC, lib, fetchurl, appimage-run, makeWrapper, symlinkJoin }: + +let + pname = "MQTT-Explorer"; + version = "0.4.0-beta1"; + mqtt-explorer = fetchurl { + url ="https://github.com/thomasnordquist/${pname}/releases/download/0.0.0-${version}/${pname}-${version}.AppImage"; + sha256 = "0x9ava13hn1nkk2kllh5ldi4b3hgmgwahk08sq48yljilgda4ppn"; + }; +in symlinkJoin { + name = "mqtt-explorer"; + paths = [ appimage-run ]; + buildInputs = [ makeWrapper ]; + postBuild = '' + mv $out/bin/appimage-run $out/bin/mqtt-explorer + wrapProgram $out/bin/mqtt-explorer --add-flags "${mqtt-explorer}" + ''; +} \ No newline at end of file diff --git a/default.nix b/default.nix index 4ce3499..04ba339 100644 --- a/default.nix +++ b/default.nix @@ -40,6 +40,7 @@ let mount /dev/disk/by-label/boot /mnt/boot nixos-generate-config --root /mnt cp ${./final}/* /mnt/etc/nixos + cp ${./booster}/* /mnt/etc/nixos/ nixos-install --no-root-password --flake /mnt/etc/nixos#artiq ''; diff --git a/final/configuration.nix b/final/configuration.nix index 8cefd58..ef21d84 100644 --- a/final/configuration.nix +++ b/final/configuration.nix @@ -55,6 +55,9 @@ pyserial spyder artiq.packages.x86_64-linux.artiq + ## Booster python packages: + # (callPackage ./gmqtt.nix { }) + # (callPackage ./miniconf.nix { }) ])) artiq.packages.x86_64-linux.openocd-bscanspi texlive.combined.scheme-full @@ -69,6 +72,12 @@ gnome3.gnome-tweaks libreoffice-fresh vscode + ## Booster packages: + # mosquitto + # libftdi + # libusb1 + # cutecom + # (pkgs.callPackage ./mqtt-explorer.nix { }) ]; programs.wireshark.enable = true; programs.wireshark.package = pkgs.wireshark;