{ 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 ]; }; }