1{
2 lib,
3 stdenvNoCC,
4 fetchFromGitHub,
5 makeWrapper,
6 git,
7 coreutils,
8 gnused,
9 gnugrep,
10 nix-update-script,
11}:
12
13stdenvNoCC.mkDerivation (finalAttrs: {
14 pname = "git-fixup";
15 version = "1.6.1";
16
17 src = fetchFromGitHub {
18 owner = "keis";
19 repo = "git-fixup";
20 rev = "v${finalAttrs.version}";
21 hash = "sha256-Mue2xgYxJSEu0VoDmB7rnoSuzyT038xzETUO1fwptrs=";
22 };
23
24 nativeBuildInputs = [ makeWrapper ];
25
26 dontBuild = true;
27
28 makeFlags = [
29 "DESTDIR=${placeholder "out"}"
30 "PREFIX="
31 ];
32
33 installFlags = [
34 "install"
35 "install-fish"
36 "install-zsh"
37 ];
38
39 postInstall = ''
40 wrapProgram $out/bin/git-fixup \
41 --prefix PATH : "${
42 lib.makeBinPath [
43 git
44 coreutils
45 gnused
46 gnugrep
47 ]
48 }"
49 '';
50
51 passthru.updateScript = nix-update-script { };
52
53 meta = {
54 description = "Fighting the copy-paste element of your rebase workflow";
55 homepage = "https://github.com/keis/git-fixup";
56 license = lib.licenses.isc;
57 maintainers = with lib.maintainers; [ michaeladler ];
58 platforms = lib.platforms.all;
59 mainProgram = "git-fixup";
60 };
61})