54 lines
961 B
Nix
54 lines
961 B
Nix
{
|
|
self,
|
|
pkgs,
|
|
poetryConfig,
|
|
checks,
|
|
system,
|
|
...
|
|
}:
|
|
|
|
let
|
|
|
|
# construct the shell provided by pre-commit for running hooks
|
|
pre-commit = pkgs.mkShell {
|
|
inherit (checks.pre-commit-check) shellHook;
|
|
buildInputs = checks.pre-commit-check.enabledPackages;
|
|
};
|
|
|
|
# constructs a custom shell with commonly used utilities
|
|
rad-dev = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
deadnix
|
|
pre-commit
|
|
treefmt
|
|
statix
|
|
nixfmt-rfc-style
|
|
ruff
|
|
];
|
|
};
|
|
|
|
# constructs the application in-place
|
|
flupdt = pkgs.mkShell { inputsFrom = [ self.packages.${system}.flupdt ]; };
|
|
|
|
# pull in python/poetry dependencies
|
|
poetry = pkgs.mkShell {
|
|
packages = [
|
|
pkgs.poetry
|
|
pkgs.poetry2nix.cli
|
|
];
|
|
};
|
|
|
|
poetry2nixshell = pkgs.poetry2nix.mkPoetryEnv poetryConfig;
|
|
in
|
|
{
|
|
default = pkgs.mkShell {
|
|
inputsFrom = [
|
|
pre-commit
|
|
rad-dev
|
|
flupdt
|
|
poetry
|
|
poetry2nixshell
|
|
];
|
|
};
|
|
}
|