nixos/shell.nix

54 lines
957 B
Nix
Raw Permalink Normal View History

2025-02-06 11:58:03 +01:00
{ pkgs ? import <nixpkgs> {} }:
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
'';
}