mach-nix/flake.nix
2020-11-25 14:09:40 +07:00

50 lines
1.3 KiB
Nix

{
description = "Create highly reproducible python environments";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
mach-nix-default = import ./default.nix {inherit pkgs;};
in rec
{
devShell = import ./shell.nix {
inherit pkgs;
};
packages = flake-utils.lib.flattenTree rec {
inherit (mach-nix-default)
mach-nix
pythonWith
shellWith
dockerImageWith;
"with" = pythonWith;
};
defaultPackage = packages.mach-nix;
apps.mach-nix = flake-utils.lib.mkApp { drv = packages.mach-nix.mach-nix; };
defaultApp = { type = "app"; program = "${defaultPackage}/bin/mach-nix"; };
lib = {
inherit (mach-nix-default)
mkPython
mkPythonShell
mkDockerImage
mkOverlay
mkNixpkgs
mkPythonOverrides
buildPythonPackage
buildPythonApplication
fetchPypiSdist
fetchPypiWheel
;
};
}
);
}