Files
Foundry/templates/python/flake.nix
T

47 lines
1.3 KiB
Nix

{
description = "Foo Bar Python Project";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
poetry2nix.url = "github:nix-community/poetry2nix";
poetry2nix.inputs.nixpkgs.follows = "nixpkgs";
poetry2nix.inputs.flake-utils.follows = "flake-utils";
};
outputs = { self, nixpkgs, flake-utils, poetry2nix }:
let
name = "foo-bar";
overlay = nixpkgs.lib.composeExtensions poetry2nix.overlay (final: prev: {
${name} = final.poetry2nix.mkPoetryApplication {
projectDir = ./.;
overrides = [ final.poetry2nix.defaultPoetryOverrides ];
};
});
overlays = [ overlay ];
in
{
inherit overlay overlays;
} //
(flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system overlays; };
in
rec {
# nix build
packages.${name} = pkgs.${name};
defaultPackage = packages.${name};
# nix run
apps.${name} = flake-utils.lib.mkApp { drv = packages.${name}; };
defaultApp = apps.${name};
# nix develop
devShell = pkgs.mkShell {
inputsFrom = [ defaultPackage ];
buildInputs = with pkgs; [ poetry ];
};
}));
}