flake-update-diff/shell.nix

52 lines
994 B
Nix
Raw Normal View History

{
self,
poetryConfig,
poetry2nix,
inputs,
checks,
system,
...
}:
let
inherit (inputs) nixpkgs;
pkgs = nixpkgs.legacyPackages.${system};
# 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
app = pkgs.mkShell { inputsFrom = [ self.packages.${system}.myapp ]; };
# pull in python/poetry dependencies
poetry = pkgs.mkShell { packages = [ pkgs.poetry ]; };
poetry2nixshell = poetry2nix.mkPoetryEnv poetryConfig;
in
{
default = pkgs.mkShell {
inputsFrom = [
pre-commit
rad-dev
app
poetry
poetry2nixshell
];
};
}