dev-templates/python/flake.nix

35 lines
899 B
Nix
Raw Normal View History

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