2 description = "j — a functional-programming-centered CLI for Jujutsu repositories";
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 flake-utils.url = "github:numtide/flake-utils";
9 outputs = { self, nixpkgs, flake-utils }:
10 flake-utils.lib.eachDefaultSystem (system:
12 pkgs = import nixpkgs { inherit system; };
16 j = pkgs.rustPlatform.buildRustPackage {
22 lockFile = ./Cargo.lock;
25 nativeBuildInputs = [ pkgs.makeWrapper ];
27 # The test suite shells out to git and expects a writable temp dir
28 # and network-free local remotes; it is not meant to run inside the
32 # The reference config.j ships with the binary; `j` looks for it at
33 # <prefix>/share/j/config.j relative to its own executable.
35 install -Dm644 config.j $out/share/j/config.j
37 # difft is a runtime dependency (§7.10): make sure `j` always
38 # finds difftastic on PATH, without requiring it globally.
39 wrapProgram $out/bin/j \
40 --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.difftastic ]}
43 meta = with pkgs.lib; {
44 description = "A functional-programming-centered CLI for Jujutsu repositories";
46 license = licenses.mit;
47 platforms = platforms.unix;
51 default = self.packages.${system}.j;
57 program = "${self.packages.${system}.j}/bin/j";
59 default = self.apps.${system}.j;
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list