21 rustPlatform.buildRustPackage rec {
25 src = fetchFromGitHub {
29 hash = "sha256-yEW7+0MnJlW0WeZ6UItaCDrihPLA52mLcu15tJwZx9w=";
32 cargoHash = "sha256-xA9SDq1Kc0u8qFEPFFCic9uwE2Y/BXJzUHBCs1Czxtw=";
34 cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
35 useNextest = true; # nextest is the upstream integration framework
36 ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib
37 LIBSSH2_SYS_USE_PKG_CONFIG = "1"; # disable vendored libssh2
50 ] ++ lib.optionals stdenv.isDarwin [
57 $out/bin/jj util mangen > ./jj.1
60 installShellCompletion --cmd jj \
61 --bash <($out/bin/jj util completion --bash) \
62 --fish <($out/bin/jj util completion --fish) \
63 --zsh <($out/bin/jj util completion --zsh)
67 updateScript = nix-update-script { };
69 version = testers.testVersion {
71 command = "jj --version";
77 description = "A Git-compatible DVCS that is both simple and powerful";
78 homepage = "https://github.com/martinvonz/jj";
79 changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
80 license = licenses.asl20;
81 maintainers = with maintainers; [ _0x4A6F thoughtpolice ];