{
  self,
  nixpkgs,
  deploy-rs,
  system,
  ...
}:
let
  pkgs = nixpkgs.legacyPackages.${system};

  statix' = pkgs.statix.overrideAttrs (old: {
    patches = old.patches ++ [
      (pkgs.fetchpatch {
        url = "https://github.com/oppiliappan/statix/commit/925dec39bb705acbbe77178b4d658fe1b752abbb.patch";
        hash = "sha256-0wacO6wuYJ4ufN9PGucRVJucFdFFNF+NoHYIrLXsCWs=";
      })
    ];
  });

  runNuCheck =
    {
      name,
      packages,
      check,
    }:
    pkgs.stdenvNoCC.mkDerivation {
      inherit name;

      src = nixpkgs.lib.cleanSourceWith {
        src = self;
        filter = nixpkgs.lib.cleanSourceFilter;
      };

      dontPatch = true;
      dontConfigure = true;
      dontBuild = true;
      dontInstall = true;
      dontFixup = true;
      doCheck = true;

      checkInputs = nixpkgs.lib.singleton pkgs.nushell ++ packages;

      checkPhase = ''
        nu ${check}
      '';
    };
in
nixpkgs.lib.recursiveUpdate {
  lints = runNuCheck {
    name = "lints";

    packages = [
      pkgs.deadnix
      pkgs.nixfmt-rfc-style
      pkgs.shellcheck
      statix'
    ];

    check = ./lints.nu;
  };
} (deploy-rs.lib.${system}.deployChecks self.deploy)