{ config, wrappers, ...}: let name = "nelind"; email = "nel.n.lindberg@gmail.com"; keyFile = "${config.home.homeDirectory}/.ssh/id_ed25519_git.pub"; allowedSignersFile = "${config.home.homeDirectory}/.ssh/allowed_signers"; in { programs.git = { enable = true; settings = { user = { name = name; email = email; }; init.defaultBranch = "main"; core.autocrlf = "input"; gpg.format = "ssh"; gpg.ssh.allowedSignersFile = allowedSignersFile; user.signingKey = keyFile; }; lfs.enable = true; }; home.packages = [ (wrappers.jujutsu { settings = { ui = { default-command = [ "log" ]; pager = ":builtin"; show-cryptographic-signatures = true; }; user = { name = name; email = email; }; signing = { behavior = "own"; backend = "ssh"; backends.ssh.allowed-signers = allowedSignersFile; key = keyFile; }; git = { write-change-id-header = true; fetch = [ "origin" "upstream" ]; }; }; }) ]; }