{ pkgs ? (
    let
      sources = import ./npins;
    in
    import sources.nixpkgs {
      overlays = [
        (import "${sources.gomod2nix}/overlay.nix")
      ];
    }
  )
}:
let
  goEnv = pkgs.mkGoEnv { pwd = ./.; };
  inherit (import ./.) pre-commit-check;
in
pkgs.mkShell {
  inherit (pre-commit-check) shellHook;
  packages = with pkgs; [
    goEnv
    gomod2nix

    npins
    gopls
    gotools
    go-tools
    templ
    gci
    hyperlink
    systemfd
    just
    modd

    skopeo
    flyctl
    nodePackages.vercel
    netlify-cli
  ];
}