From 0b35db5b683065569b0ea9282e40a7b7e1530324 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Fri, 17 Oct 2025 14:48:18 +0200 Subject: Add jj configuration --- flake.nix | 8 ++++++++ home.nix | 1 + jj.nix | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 jj.nix diff --git a/flake.nix b/flake.nix index ba25103..8172575 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,10 @@ extraSpecialArgs = { inherit inputs; + git = { + name = "Gabriel A. Giovanini"; + email = "g.arakakigiovanini@gridx.de"; + }; }; modules = [ @@ -42,6 +46,10 @@ extraSpecialArgs = { inherit inputs; + git = { + name = "Gabriel A. Giovanini"; + nmail = "mail@gabrielgio.me"; + }; }; modules = [ diff --git a/home.nix b/home.nix index 90ba494..9aeff47 100644 --- a/home.nix +++ b/home.nix @@ -57,5 +57,6 @@ in { (import ./niri.nix) (import ./sway.nix) (import ./aerc.nix) + (import ./jj.nix) ]; } diff --git a/jj.nix b/jj.nix new file mode 100644 index 0000000..c74bf17 --- /dev/null +++ b/jj.nix @@ -0,0 +1,36 @@ +{ + pkgs, + inputs, + git, + ... +}: let + tomlFormat = pkgs.formats.toml {}; +in { + xdg.configFile."jj/config.toml".source = tomlFormat.generate "config.toml" { + user = { + name = git.name; + email = git.email; + }; + ui = { + diff-formatter = ":git"; + pager = ":builtin"; + }; + aliases = { + wk = ["log" "-r" "trunk()::@ | @::"]; + gp = ["git" "push" "--allow-new"]; + gf = ["git" "fetch"]; + tracked = ["bookmark" "list" "-t" "-T" ''if(self.tracked(), if(self.name() != "main", self.name()++"\n"))'']; + untracked = ["bookmark" "list" "-T" ''if(!self.tracked(), if(self.name() != "main", self.name()++"\n"))'']; + e = ["edit"]; + track = ["util" "exec" "--" "bash" "-c" "jj bookmark set $(jj log -r @ -T 'self.change_id()' --no-graph)"]; + tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@-"]; + nm = ["new" "-r" "trunk()"]; + }; + templates = { + log = "builtin_log_compact"; + }; + template-aliases = { + "commit_timestamp(commit)" = "commit.author().timestamp()"; + }; + }; +} -- cgit v1.2.3