git-check-assertions/default.nix

53 lines
866 B
Nix

{
stdenv,
lib,
shellcheck-minimal,
bats,
gitMinimal,
}:
let
fs = lib.fileset;
in
stdenv.mkDerivation {
pname = "git-check-assertions";
version = "0.0.1";
src = fs.toSource {
root = ./.;
fileset = fs.unions [
./git-check-assertions
./test.bats
];
};
postPatch = ''
patchShebangs .
'';
nativeCheckInputs = [
shellcheck-minimal
bats
gitMinimal
];
checkPhase = ''
shellcheck git-check-assertions test.bats
git init
git config user.email test
git config user.name test
git checkout -b main
git commit --allow-empty -m "initial"
./test.bats
'';
doCheck = true;
installPhase = ''
mkdir -p $out/bin
cp $src/git-check-assertions $out/bin/git-check-assertions
chmod +x $out/bin/git-check-assertions
'';
meta.mainProgram = "git-check-assertions";
}