nixos/shells/ddt4all.nix
2025-04-14 10:44:13 +02:00

58 lines
987 B
Nix

{ pkgs, ... }:
let
pythonWithPkgs = pkgs.python3.withPackages (
ps: with ps; [
ps.pyqt5
ps.pyqtwebengine
ps.pyusb
ps.crcmod
ps.pyserial
]
);
src = pkgs.fetchFromGitHub {
owner = "cedricp";
repo = "ddt4all";
rev = "v3.0.4";
sha256 = "sha256-SswaqV2UabVjuNeMTd7K3Vxa77LZKCb/qkgidkaE0R8=";
};
in
pkgs.mkShell {
name = "ddt4all-env";
buildInputs = [
pythonWithPkgs
src
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 = ''
mkdir -p $HOME/DDT4ALL
cp -r $src/bin/* $HOME/DDT4ALL
cd $HOME/DDT4ALL
wrapQtAppsHook
python main.py
exit
'';
}