{ pkgs ? import {} }: let pythonWithPkgs = pkgs.python3.withPackages (ps: with ps; [ ps.pyqt5 ps.pyqtwebengine ps.pyusb ps.crcmod ps.pyserial ]); in pkgs.mkShell { name = "ddt4all-env"; buildInputs = [ pythonWithPkgs pkgs.qt5.qtbase pkgs.qt5.qttools pkgs.git pkgs.freetype pkgs.libGL pkgs.dbus pkgs.xorg.libX11 pkgs.xorg.libXcomposite pkgs.xorg.libXdamage pkgs.xorg.libXfixes pkgs.xorg.libXrender pkgs.xorg.libXrandr pkgs.xorg.libXtst pkgs.glib pkgs.expat pkgs.fontconfig ]; nativeBuildInputs = [ pkgs.libsForQt5.qt5.wrapQtAppsHook ]; shellHook = ''wrapQtAppsHook''; runScript = '' cd $HOME/DDT4ALL if [ ! -d ".venv" ]; then python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt else source .venv/bin/activate fi python3 main.py ''; }