This commit is contained in:
Jana Dönszelmann 2025-05-28 11:27:06 +02:00
parent f289c537d8
commit ddb92ea0c5
No known key found for this signature in database
12 changed files with 918 additions and 643 deletions

View file

@ -1,8 +1,8 @@
{ pkgs, ... }:
{ config, pkgs, ... }:
{
programs.jujutsu = {
enable = true;
package = pkgs.custom.jujutsu;
# package = pkgs.custom.jujutsu;
settings = {
user = {
@ -11,9 +11,10 @@
};
ui = {
paginate = "never";
pager = "${pkgs.delta}/bin/delta";
# for delta
diff.format = "git";
diff-formatter = ":git";
default-command = [
"log"
@ -32,10 +33,86 @@
# diff-editor = "${pkgs.meld}/bin/meld";
};
revsets.log = "@ | ancestors(trunk()..(visible_heads() & mine()), 2) | trunk()";
# core.fsmonitor = "${pkgs.watchman}/bin/watchman";
core.fsmonitor = "watchman";
core.watchman.register-snapshot-trigger = true;
revsets.log = "@ | ancestors(tronk()..(visible_heads() & mine()), 2) | tronk()";
# revsets.log = "trunk()..@ | @..trunk() | trunk() | @:: | fork_point(trunk() | @)";
# revsets.log = "trunk() | ancestors(trunk()..heads(((trunk()..visible_heads()) & my() | @)::), 2)";
revset-aliases = {
"tronk()" = ''latest((present(main) | present(master)) & remote_bookmarks())'';
"my()" = "user(\"${config.programs.jujutsu.settings.user.email}\")";
"user(x)" = "author(x) | committer(x)";
current = ''bookmarks() & my() & ~immutable()'';
"closest_bookmark(to)" = "heads(::to & bookmarks())";
};
template-aliases = {
"format_timestamp(timestamp)" = "timestamp.ago()";
};
aliases = {
tug = [
"bookmark"
"move"
"--from"
"closest_bookmark(@-)"
"--to"
"@-"
];
catchup = [
"rebase"
"-b"
"all:current"
"-d"
"tronk()"
"--skip-emptied"
];
};
templates = {
log_node = ''
label("node",
coalesce(
if(!self, label("elided", "~")),
if(current_working_copy, label("working_copy", "@")),
if(conflict, label("conflict", "×")),
if(immutable, label("immutable", "*")),
label("normal", "·")
)
)
'';
log = ''
if(root,
format_root_commit(self),
label(if(current_working_copy, "working_copy"),
concat(
separate(" ",
format_short_change_id_with_hidden_and_divergent_info(self),
if(empty, label("empty", "(empty)")),
if(description,
description.first_line(),
label(if(empty, "empty"), description_placeholder),
),
bookmarks,
tags,
working_copies,
if(git_head, label("git_head", "HEAD")),
if(conflict, label("conflict", "conflict")),
if(config("ui.show-cryptographic-signatures").as_boolean(),
format_short_cryptographic_signature(signature)),
) ++ "\n",
),
)
)
'';
};
signing = {
sign-all = true;
# sign-all = true;
behavior = "own";
backend = "ssh";
key = "~/.ssh/id_ed25519.pub";
};
@ -43,6 +120,14 @@
git = {
push-bookmark-prefix = "jdonszelmann/";
private-commits = "description(glob:'wip:*')";
write-change-id-header = true;
fetch = [
"upstream"
"origin"
];
push = "origin";
auto-local-bookmark = true;
};
};
};