{ sources ? import ./npins, pkgs ? import sources.nixpkgs { }, }: let checks = (import sources.git-hooks).run { src = ./.; hooks = { commitizen.enable = true; } // (pkgs.lib.genAttrs [ "black" "isort" "ruff" ] (hook: { enable = true; stages = [ "pre-push" ]; }) ); }; python3 = pkgs.python3.override { packageOverrides = self: _: { netifaces2 = self.callPackage ./nix/netifaces2.nix { }; }; }; in { devShell = pkgs.mkShell { name = "netbox-agent.dev"; packages = [ (python3.withPackages (ps: [ ps.pynetbox ps.netaddr ps.netifaces2 ps.pyyaml ps.jsonargparse ps.python-slugify ps.packaging ps.distro ])) ] ++ checks.enabledPackages; shellHook = '' ${checks.shellHook} ''; }; }