jj: use jj flake directly

This commit is contained in:
Daniel Lundin 2025-01-03 14:01:39 +01:00
parent 5032e07ee9
commit 6dd68098e0
Signed by: dln
SSH key fingerprint: SHA256:dQy1Xj3UiqJYpKR5ggQ2bxgz4jCH8IF+k3AB8o0kmdI
6 changed files with 125 additions and 3967 deletions

View file

@ -108,6 +108,24 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"ghostty": {
"inputs": {
"flake-compat": "flake-compat",
@ -116,11 +134,11 @@
"zig": "zig"
},
"locked": {
"lastModified": 1735765328,
"narHash": "sha256-f4LI34cXP8nOTi4Va6GPUFaJYf0qGbabk+OeUddsfuk=",
"lastModified": 1735875799,
"narHash": "sha256-EI6C+CRmfHqkjnp0aJxYb/pTImwb5FZOu1HWHnnZsOc=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "94599102e9fb8247af08cbbbcb7ee25e3d31e1bd",
"rev": "e2f9eb6a6f4dc2108f91293938374c0ed314dcb8",
"type": "github"
},
"original": {
@ -136,18 +154,14 @@
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
],
"nixpkgs-stable": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734797603,
"narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=",
"lastModified": 1735882644,
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498",
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
"type": "github"
},
"original": {
@ -207,11 +221,11 @@
]
},
"locked": {
"lastModified": 1735774425,
"narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=",
"lastModified": 1735900408,
"narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5f6aa268e419d053c3d5025da740e390b12ac936",
"rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9",
"type": "github"
},
"original": {
@ -220,6 +234,27 @@
"type": "github"
}
},
"jujutsu": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1733685432,
"narHash": "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg=",
"owner": "dln",
"repo": "jj",
"rev": "b6608a03881542d6a8c98f659b80b57a27906096",
"type": "github"
},
"original": {
"owner": "dln",
"ref": "openssh",
"repo": "jj",
"type": "github"
}
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat_2",
@ -227,15 +262,15 @@
"git-hooks": "git-hooks",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-src": "neovim-src",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1735801710,
"narHash": "sha256-Z6Pl8LWYbPnqSinpSxrylfCpa4XkEVhzpfnfqiD0Kv8=",
"lastModified": 1735908283,
"narHash": "sha256-00Cd/KACX7Mr4ixz8rXksT4wteIStuExZIS22sA21ls=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "57a05ea557689b9d85dd594a9a26778b6842a18a",
"rev": "54dd5a7c0384fdcd11830e52f9896e457f189cb6",
"type": "github"
},
"original": {
@ -247,11 +282,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1735771362,
"narHash": "sha256-+HxTD7TxeIySWsE++VKDWBMQK5OqTv391wADaZ8UDuo=",
"lastModified": 1735903221,
"narHash": "sha256-VrmQyDyR8y7x8QHSnX+Szs2ywZa7butk6lUdiNX5U3s=",
"owner": "neovim",
"repo": "neovim",
"rev": "6dc0eb9f41e6453fe003dd3a28c58b701fd003c9",
"rev": "c26951b1d6d4d7ff8fe431e8bfb16744ff56af1c",
"type": "github"
},
"original": {
@ -262,18 +297,15 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1735617354,
"narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182",
"type": "github"
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"path": "/nix/store/8vz84mqgnm1gz5yk7hgnnb5gir5hjxas-source",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "path"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs-stable": {
@ -326,11 +358,11 @@
},
"nixpkgs-unstable_2": {
"locked": {
"lastModified": 1735617354,
"narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=",
"lastModified": 1735821806,
"narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182",
"rev": "d6973081434f88088e5321f83ebafe9a1167c367",
"type": "github"
},
"original": {
@ -341,6 +373,22 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1735821806,
"narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d6973081434f88088e5321f83ebafe9a1167c367",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
@ -360,12 +408,34 @@
"inputs": {
"ghostty": "ghostty",
"home-manager": "home-manager",
"jujutsu": "jujutsu",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable_2",
"nixpkgs-unstable": "nixpkgs-unstable_2"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"jujutsu",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735871325,
"narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "a599f011db521766cbaf7c2f5874182485554f00",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -381,6 +451,21 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
@ -389,11 +474,11 @@
]
},
"locked": {
"lastModified": 1735653038,
"narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=",
"lastModified": 1735905407,
"narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7",
"rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8",
"type": "github"
},
"original": {

View file

@ -15,6 +15,7 @@
inputs = {
ghostty.url = "github:ghostty-org/ghostty";
jujutsu.url = "github:dln/jj/openssh";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, inputs, pkgs, ... }:
{
home.packages = with pkgs; [
@ -169,6 +169,6 @@
programs.jujutsu = {
enable = true;
package = pkgs.jujutsu-openssh;
package = inputs.jujutsu.packages.${pkgs.system}.default;
};
}

View file

@ -1,4 +1,3 @@
pkgs: {
gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { };
jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { };
}

File diff suppressed because it is too large Load diff

View file

@ -1,89 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
openssl,
gzip,
libgit2,
openssh,
zstd,
installShellFiles,
nix-update-script,
testers,
jujutsu-openssh,
}:
rustPlatform.buildRustPackage rec {
pname = "jujutsu-openssh";
version = "0.24.0+pr3191.openssh";
src = fetchFromGitHub {
owner = "dln";
repo = "jj";
rev = "b6608a03881542d6a8c98f659b80b57a27906096"; # https://github.com/dln/jj/tree/openssh
hash = "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg=";
};
cargoLock.lockFile = ./Cargo.lock;
cargoLock.outputHashes = {
"git2-0.19.0" = "sha256-fV8dFChGeDhb20bMyqefpAD5/+raQQ2sMdkEtlA1jaE=";
};
cargoBuildFlags = [
"--bin"
"jj"
]; # don't install the fake editors
useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping
ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib
nativeBuildInputs = [
gzip
installShellFiles
pkg-config
];
buildInputs = [
openssl
zstd
libgit2
openssh
];
postInstall = ''
$out/bin/jj util mangen > ./jj.1
installManPage ./jj.1
installShellCompletion --cmd jj \
--bash <($out/bin/jj util completion bash) \
--fish <($out/bin/jj util completion fish) \
--zsh <($out/bin/jj util completion zsh)
'';
checkFlags = [
# signing tests spin up an ssh-agent and do git checkouts
"--skip=test_ssh_signing"
];
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion {
package = jujutsu-openssh;
command = "jj --version";
};
};
};
meta = with lib; {
description = "Git-compatible DVCS that is both simple and powerful";
homepage = "https://github.com/martinvonz/jj";
changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [
_0x4A6F
thoughtpolice
];
mainProgram = "jj";
};
}