Add booster add-on configuration #4

Open
esavkin wants to merge 2 commits from esavkin/defenestrate:booster-addon into master
7 changed files with 52 additions and 76 deletions
Showing only changes of commit 2b5e037a47 - Show all commits

5
README
View File

@ -9,7 +9,4 @@
* sudo nix-collect-garbage -d * sudo nix-collect-garbage -d
* history clear * history clear
Add-on for Boosters: Add-on for Boosters: uncomment packages in configuration.nix before auto-install.
* copy `booster` to the /opt
* mkdir -p ~/.config/nixpkgs && echo '{permittedInsecurePackages = ["electron-9*"];}' > ~/.config/nixpkgs/config.nix
* echo 'For Booster-related apps, use `nix-shell /opt/booster/booster_shell.nix`' > ~/README.md

View File

@ -1,27 +0,0 @@
let
pkgs = import <nixpkgs> { };
mqtt-explorer = pkgs.callPackage /opt/booster/mqtt-explorer.nix {} ;
gmqtt = pkgs.callPackage /opt/booster/gmqtt.nix {};
miniconf = pkgs.callPackage /opt/booster/miniconf.nix {};
in
pkgs.mkShell {
buildInputs = [
(pkgs.python3.withPackages(ps: [
ps.numpy
ps.setuptools
ps.matplotlib
gmqtt
miniconf
]))
pkgs.libtool
pkgs.libusb1
pkgs.mosquitto
pkgs.libftdi
pkgs.cutecom
mqtt-explorer
];
}

View File

@ -4,14 +4,14 @@ python3Packages.buildPythonPackage rec {
name = "gmqtt"; name = "gmqtt";
version = "v0.6.12"; version = "v0.6.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wialon" ; owner = "wialon";
Outdated
Review

inconsistent indentation

inconsistent indentation
repo = "gmqtt"; repo = "gmqtt";
rev = "190d12156890efcfc5099fea0f7ef3ce072c4a27" ; rev = "190d12156890efcfc5099fea0f7ef3ce072c4a27";
sha256 = "sha256-lhvRRZsrJy2U7b705GTlquAP/LwKEmInuVC4zzivmKk="; sha256 = "sha256-lhvRRZsrJy2U7b705GTlquAP/LwKEmInuVC4zzivmKk=";
}; };
buildInputs = [ buildInputs = [
(pkgs.python3.withPackages(ps: [ (pkgs.python3.withPackages (ps: [
ps.codecov ps.codecov
ps.pytest-asyncio ps.pytest-asyncio
ps.pytest ps.pytest

View File

@ -1,15 +1,13 @@
{ stdenv, lib, python3Packages, callPackage, fetchgit, makeWrapper }: { stdenv, lib, python3Packages, callPackage, fetchgit, makeWrapper }:
let let gmqtt = callPackage ./gmqtt.nix { };
gmqtt = callPackage /opt/booster/gmqtt.nix {}; in python3Packages.buildPythonPackage rec {
in
python3Packages.buildPythonPackage rec {
pname = "miniconf"; pname = "miniconf";
Outdated
Review

indentation

indentation
version = "0.1.0"; version = "0.1.0";
src = fetchgit { src = fetchgit {
url = "https://github.com/quartiq/miniconf"; url = "https://github.com/quartiq/miniconf";
rev = "01caac4adb3f81cbcd34d8a48087f5df962c096f"; rev = "01caac4adb3f81cbcd34d8a48087f5df962c096f";
sha256 = "sha256-ssRV4FtdMehPA4+mKQ4Ub+wtEakpKX5jXRubFtHpanA="; sha256 = "sha256-Gco56sl2mQ2y+M1evzLhtuFvrhJZbAvbIq7N6J9uiFE=";
}; };
prePatch = '' prePatch = ''
cd py/miniconf-mqtt cd py/miniconf-mqtt

View File

@ -1,20 +1,18 @@
{ stdenv, lib, fetchurl, appimageTools, electron_9, makeWrapper }: { stdenvNoCC, lib, fetchurl, appimage-run, makeWrapper, symlinkJoin }:
stdenv.mkDerivation rec { let
Outdated
Review

stdenvNoCC?

stdenvNoCC?
pname = "MQTT-Explorer"; pname = "MQTT-Explorer";
version = "0.4.0-beta1"; version = "0.4.0-beta1";
src = appimageTools.extract { mqtt-explorer = fetchurl {
name = pname; url ="https://github.com/thomasnordquist/${pname}/releases/download/0.0.0-${version}/${pname}-${version}.AppImage";
src = fetchurl {
url = "https://github.com/thomasnordquist/${pname}/releases/download/0.0.0-${version}/${pname}-${version}.AppImage";
sha256 = "0x9ava13hn1nkk2kllh5ldi4b3hgmgwahk08sq48yljilgda4ppn"; sha256 = "0x9ava13hn1nkk2kllh5ldi4b3hgmgwahk08sq48yljilgda4ppn";
}; };
}; in symlinkJoin {
name = "mqtt-explorer";
paths = [ appimage-run ];
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
installPhase = '' postBuild = ''
install -m 444 -D resources/app.asar $out/libexec/app.asar mv $out/bin/appimage-run $out/bin/mqtt-explorer
install -m 444 -D mqtt-explorer.png $out/share/icons/mqtt-explorer.png wrapProgram $out/bin/mqtt-explorer --add-flags "${mqtt-explorer}"
install -m 444 -D mqtt-explorer.desktop $out/share/applications/mqtt-explorer.desktop
makeWrapper ${electron_9}/bin/electron $out/bin/mqtt-explorer --add-flags $out/libexec/app.asar
''; '';
Outdated
Review

Does this work?

Does this work?
} }
Outdated
Review

Isn't the electron bloatware already included in the appimage binary? Is using the nixpkgs version instead the recommended way?

Isn't the electron bloatware already included in the appimage binary? Is using the nixpkgs version instead the recommended way?

Not sure about recommended way, but changed to appimage-run

Not sure about recommended way, but changed to appimage-run

View File

@ -40,6 +40,7 @@ let
mount /dev/disk/by-label/boot /mnt/boot mount /dev/disk/by-label/boot /mnt/boot
nixos-generate-config --root /mnt nixos-generate-config --root /mnt
cp ${./final}/* /mnt/etc/nixos cp ${./final}/* /mnt/etc/nixos
cp ${./booster}/* /mnt/etc/nixos/
nixos-install --no-root-password --flake /mnt/etc/nixos#artiq nixos-install --no-root-password --flake /mnt/etc/nixos#artiq
''; '';

View File

@ -55,6 +55,9 @@
pyserial pyserial
spyder spyder
artiq.packages.x86_64-linux.artiq artiq.packages.x86_64-linux.artiq
## Booster python packages:
# (callPackage ./gmqtt.nix { })
# (callPackage ./miniconf.nix { })
])) ]))
artiq.packages.x86_64-linux.openocd-bscanspi artiq.packages.x86_64-linux.openocd-bscanspi
texlive.combined.scheme-full texlive.combined.scheme-full
@ -69,6 +72,12 @@
gnome3.gnome-tweaks gnome3.gnome-tweaks
libreoffice-fresh libreoffice-fresh
vscode vscode
## Booster packages:
# mosquitto
# libftdi
# libusb1
# cutecom
# (pkgs.callPackage ./mqtt-explorer.nix { })
]; ];
programs.wireshark.enable = true; programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark; programs.wireshark.package = pkgs.wireshark;