{ description = "Development flake for this python project"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; 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.python312; pythonPackages = pkgs.python312Packages; projectDependencies = with pythonPackages; [ ]; in { devShells.default = pkgs.mkShell { nativeBuildInputs = [ pkgs.bashInteractive ]; buildInputs = with pkgs; [ # Core python dependencies python pythonPackages.pip pythonPackages.virtualenv # IDE tools pythonPackages.isort nodePackages.pyright # Development tools black pythonPackages.ipython pythonPackages.pytest pythonPackages.setuptools ] ++ projectDependencies; }; }); }