{ description = "Development flake for the HTMX folkugat web"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; python = pkgs.python311; pythonPackages = pkgs.python311Packages; # custom-python = import ./custom-python.nix { inherit pkgs; }; projectDependencies = with pythonPackages; [ # API fastapi jinja2 uvicorn # Auth pyjwt # Search levenshtein # Test pytest ]; in { devShells.default = pkgs.mkShell { nativeBuildInputs = [ pkgs.bashInteractive ]; buildInputs = with pkgs; [ # Core python dependencies python pythonPackages.pip pythonPackages.virtualenv # Other dependencies nodePackages_latest.tailwindcss # IDE tools pythonPackages.pylsp-mypy pythonPackages.isort pythonPackages.autopep8 nodePackages.pyright # Development tools black pythonPackages.ipython pythonPackages.pytest pythonPackages.setuptools ] ++ projectDependencies; }; }); }