dev-templates/python/flake.nix

36 lines
905 B
Nix
Raw Normal View History

2022-07-31 13:33:11 -07:00
{
2022-07-31 15:00:58 -07:00
description = "A Nix-flake-based Python development environment";
2022-07-31 13:33:11 -07:00
2022-07-31 13:33:40 -07:00
inputs = {
2022-08-20 03:06:53 -07:00
flake-utils.url = "github:numtide/flake-utils";
2022-07-31 13:33:40 -07:00
mach-nix.url = "github:/DavHau/mach-nix";
2022-08-20 03:06:53 -07:00
nixpkgs.url = "github:NixOS/nixpkgs";
2022-07-31 13:33:40 -07:00
};
2022-07-31 13:33:11 -07:00
2022-08-20 03:06:53 -07:00
outputs = { self, flake-utils, mach-nix, nixpkgs }:
flake-utils.lib.eachDefaultSystem (system:
2022-07-31 13:33:11 -07:00
let
pkgs = import nixpkgs { inherit system; };
inherit (pkgs) mkShell;
python = pkgs.python311;
machNix = mach-nix.defaultPackage.${system};
2022-07-31 13:33:40 -07:00
pythonTools = with pkgs;
[ virtualenv ] ++ (with pkgs.python311Packages; [ pip ]);
2022-07-31 13:33:11 -07:00
nixTools = [ machNix ];
2022-08-20 04:47:43 -07:00
in
{
2022-07-31 13:33:11 -07:00
devShells = {
default = mkShell {
buildInputs = [ python ] ++ pythonTools ++ nixTools;
shellHook = ''
${python}/bin/python --version
'';
};
};
});
}