61 lines
1.2 KiB
Nix
61 lines
1.2 KiB
Nix
{
|
|
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)
|