From 56c7731dc7f1cd4aef2fcaa5f13ba2317f9f8af1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Tue, 14 Mar 2023 18:18:00 +0100 Subject: devShells: add python development environment This is mainly to get GTK working in Python. --- devShells/default.nix | 1 + devShells/python.nix | 58 +++++++++++++++++++++++++++++++++++++++++++++++ flake.lock | 12 +++++----- nixos/modules/develop.nix | 22 ------------------ 4 files changed, 65 insertions(+), 28 deletions(-) create mode 100644 devShells/python.nix diff --git a/devShells/default.nix b/devShells/default.nix index c87522f..b0a1728 100644 --- a/devShells/default.nix +++ b/devShells/default.nix @@ -22,6 +22,7 @@ espc = callDevelop ./nuttx.nix {arch = "rv32imc";}; c = callDevelop ./c.nix {}; qt = callDevelop ./qt.nix {}; + python = callDevelop ./python.nix {}; apo = callDevelop ./apo.nix {}; }; in diff --git a/devShells/python.nix b/devShells/python.nix new file mode 100644 index 0000000..570840d --- /dev/null +++ b/devShells/python.nix @@ -0,0 +1,58 @@ +{ + system, + nixpkgs, + default, +}: let + pkgs = nixpkgs.legacyPackages.${system}; +in + pkgs.mkShell { + packages = with pkgs; [ + (python3.withPackages (pypkgs: + with pypkgs; [ + ipython + + pytest + pytest-html + pytest-tap + coverage + python-lsp-black + pylint + pydocstyle + mypy + + pygraphviz + matplotlib + + python-gitlab + PyGithub + + schema + jinja2 + ruamel-yaml + msgpack + urllib3 + + influxdb-client + psycopg + paho-mqtt + + humanize + rich + + pygobject3 + + pyserial + pylibftdi + pylxd + selenium + ])) + geckodriver + chromedriver + + gobject-introspection + gtk3 + gtk4 + ]; + inputsFrom = with pkgs; [default]; + meta.platforms = nixpkgs.lib.platforms.linux; + } diff --git a/flake.lock b/flake.lock index dacf583..a47bba9 100644 --- a/flake.lock +++ b/flake.lock @@ -93,11 +93,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1678472263, - "narHash": "sha256-MaQ+/JNnDzg4l+8Gywu3px9LzWOnUxPsLT7mn1Om/Nk=", + "lastModified": 1678733561, + "narHash": "sha256-bs9TuOd0UmEaizyf5avT1ojob8tvMItqqZ6GZk3OYYE=", "owner": "NixOS", "repo": "nix", - "rev": "208c8551249361d2383b44123b4ad156218c351b", + "rev": "a387f46967ae9eb97eaeb17ca26fb583283815ce", "type": "github" }, "original": { @@ -186,11 +186,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1678633766, - "narHash": "sha256-7//k+M/CN8uRXuQSteHzv1Cxrhb+JP0ykM9M6QDvTR4=", + "lastModified": 1678780369, + "narHash": "sha256-D8wM0K1EkWLwbUu9fohC57+n89zC9qQ3hdC9Bys5GYw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9bd4087071eb27e47d96cc15ee9db1f2a3584679", + "rev": "1474943fd91fbe5567f7582acf568e0f999f4af1", "type": "github" }, "original": { diff --git a/nixos/modules/develop.nix b/nixos/modules/develop.nix index cd6719f..8c029c8 100644 --- a/nixos/modules/develop.nix +++ b/nixos/modules/develop.nix @@ -62,35 +62,13 @@ with lib; { python-lsp-black pylint pydocstyle - mypy - pygobject3 pygraphviz matplotlib python-gitlab PyGithub - - schema - jinja2 - ruamel-yaml - msgpack - urllib3 - influxdb-client - - psycopg - - humanize - rich - lorem-text.pythonPackage - - pyserial - pylibftdi - pylxd - selenium - - paho-mqtt ])) geckodriver chromedriver -- cgit v1.2.3