diff --git a/README b/README
index 24d732a..b97353d 100644
--- a/README
+++ b/README
@@ -8,3 +8,8 @@
 * sudo nixos-rebuild boot
 * sudo nix-collect-garbage -d
 * history clear
+
+Add-on for Boosters:
+* 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
\ No newline at end of file
diff --git a/booster/booster_shell.nix b/booster/booster_shell.nix
new file mode 100644
index 0000000..11a2e0c
--- /dev/null
+++ b/booster/booster_shell.nix
@@ -0,0 +1,27 @@
+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
+    ];
+  }
+
diff --git a/booster/gmqtt.nix b/booster/gmqtt.nix
new file mode 100644
index 0000000..73b8f76
--- /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..94fe88b
--- /dev/null
+++ b/booster/miniconf.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, python3Packages, callPackage, fetchgit, makeWrapper }:
+
+let 
+gmqtt = callPackage /opt/booster/gmqtt.nix {};
+in
+python3Packages.buildPythonPackage rec {
+    pname = "miniconf";
+    version = "0.1.0";
+    src = fetchgit {
+        url = "https://github.com/quartiq/miniconf";
+        rev = "01caac4adb3f81cbcd34d8a48087f5df962c096f";
+        sha256 = "sha256-ssRV4FtdMehPA4+mKQ4Ub+wtEakpKX5jXRubFtHpanA=";
+    };
+    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..2b17bda
--- /dev/null
+++ b/booster/mqtt-explorer.nix
@@ -0,0 +1,20 @@
+{ stdenv, lib, fetchurl, appimageTools, electron_9, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "MQTT-Explorer";
+  version = "0.4.0-beta1";
+  src = appimageTools.extract {
+    name = pname;
+    src = fetchurl {
+      url = "https://github.com/thomasnordquist/${pname}/releases/download/0.0.0-${version}/${pname}-${version}.AppImage";
+      sha256 = "0x9ava13hn1nkk2kllh5ldi4b3hgmgwahk08sq48yljilgda4ppn";
+    };
+  };
+  buildInputs = [ makeWrapper ];
+  installPhase = ''
+    install -m 444 -D resources/app.asar $out/libexec/app.asar
+    install -m 444 -D mqtt-explorer.png $out/share/icons/mqtt-explorer.png
+    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
+  '';
+}
\ No newline at end of file