Can be used to set up per dir environments, e.g using direnv to automatically activate them. ## Python https://nixos.org/manual/nixpkgs/stable/#python ```nix { pkgs ? import {}}: pkgs.mkShell { packages = [ pkgs.virtualenv ]; } ``` ```nix with import {}; let my_toolz = python311.pkgs.buildPythonPackage rec { pname = "toolz"; version = "0.10.0"; pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA="; }; nativeBuildInputs = [ python311.pkgs.setuptools python311.pkgs.wheel ]; # has no tests doCheck = false; meta = { homepage = "https://github.com/pytoolz/toolz/"; description = "List processing tools and functional utilities"; # [...] }; }; in python311.withPackages (ps: with ps; [ numpy my_toolz ]) ).env ``` The [[keyword-import]] is required here because imports a nix expression from another source, in this case nixpkgs. It is not required at line two, because python310Packages itself is already in the local scope.