1 { lib, fetchFromGitHub, python3, tk, makeDesktopItem, copyDesktopItems }:
5 buildPythonApplication rec {
9 src = fetchFromGitHub {
12 rev = "refs/tags/v${version}";
13 hash = "sha256-f4wR5OPzWbtSqE+hSW2zD8u3pPl5nPTtGvf2LzOXjI4=";
16 nativeBuildInputs = [ copyDesktopItems ];
18 desktopItems = [ (makeDesktopItem {
22 desktopName = "Thonny";
23 comment = "Python IDE for beginners";
24 categories = [ "Development" "IDE" ];
27 propagatedBuildInputs = with python3.pkgs; [
40 export HOME=$(mktemp -d)
44 wrapProgram "$out/bin/thonny" \
45 --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath ${python3.pkgs.jedi})
49 install -Dm644 ./packaging/icons/thonny-48x48.png $out/share/icons/hicolor/48x48/apps/thonny.png
52 # Tests need a DISPLAY
56 description = "Python IDE for beginners";
58 Thonny is a Python IDE for beginners. It supports different ways
59 of stepping through the code, step-by-step expression
60 evaluation, detailed visualization of the call stack and a mode
61 for explaining the concepts of references and heap.
63 homepage = "https://www.thonny.org/";
64 license = licenses.mit;
65 maintainers = with maintainers; [ leenaars ];
66 platforms = platforms.unix;
67 mainProgram = "thonny";