2024-07-15 19:17:57 -04:00
|
|
|
{
|
|
|
|
self,
|
2024-08-03 00:21:44 -04:00
|
|
|
pkgs,
|
2024-07-15 19:17:57 -04:00
|
|
|
checks,
|
|
|
|
system,
|
2025-03-18 18:11:42 -04:00
|
|
|
uv-shell,
|
2024-07-15 19:17:57 -04:00
|
|
|
...
|
|
|
|
}:
|
|
|
|
|
2024-07-15 19:42:22 -04:00
|
|
|
let
|
2024-07-15 19:17:57 -04:00
|
|
|
|
2024-07-15 19:42:22 -04:00
|
|
|
# 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;
|
|
|
|
};
|
2024-07-15 19:17:57 -04:00
|
|
|
|
2024-07-15 19:42:22 -04:00
|
|
|
# constructs a custom shell with commonly used utilities
|
|
|
|
rad-dev = pkgs.mkShell {
|
|
|
|
packages = with pkgs; [
|
|
|
|
deadnix
|
|
|
|
pre-commit
|
|
|
|
treefmt
|
|
|
|
statix
|
|
|
|
nixfmt-rfc-style
|
2024-07-28 14:15:06 -04:00
|
|
|
ruff
|
2024-07-15 19:42:22 -04:00
|
|
|
];
|
|
|
|
};
|
2024-07-15 19:17:57 -04:00
|
|
|
|
2024-07-15 19:42:22 -04:00
|
|
|
# constructs the application in-place
|
2024-07-29 18:29:54 -04:00
|
|
|
flupdt = pkgs.mkShell { inputsFrom = [ self.packages.${system}.flupdt ]; };
|
2024-07-15 19:17:57 -04:00
|
|
|
|
2024-07-15 19:42:22 -04:00
|
|
|
in
|
|
|
|
{
|
|
|
|
default = pkgs.mkShell {
|
|
|
|
inputsFrom = [
|
|
|
|
pre-commit
|
|
|
|
rad-dev
|
2024-07-29 18:29:54 -04:00
|
|
|
flupdt
|
2025-03-18 18:11:42 -04:00
|
|
|
#uv-shell.impure
|
|
|
|
uv-shell.uv2nix
|
2024-07-15 19:42:22 -04:00
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|