diff --git a/.changeset/nix-jujutsu-integration.md b/.changeset/nix-jujutsu-integration.md new file mode 100644 index 00000000..b23c185f --- /dev/null +++ b/.changeset/nix-jujutsu-integration.md @@ -0,0 +1,5 @@ +--- +"hunkdiff": minor +--- + +Add an `enableJujutsuIntegration` home-manager option that sets hunk as the jujutsu pager and switches `ui.diff-formatter` to `:git` so jj emits diffs hunk can render. diff --git a/nix/home-manager.nix b/nix/home-manager.nix index 496183ac..99fff08e 100644 --- a/nix/home-manager.nix +++ b/nix/home-manager.nix @@ -43,6 +43,12 @@ in description = "Whether to set hunk as the default git pager."; }; + enableJujutsuIntegration = mkOption { + type = types.bool; + default = false; + description = "Whether to set hunk as the default jujutsu pager. Also sets ui.diff-formatter to \":git\" so jj emits git-style diffs hunk can render."; + }; + enableClaudeIntegration = mkOption { type = types.bool; default = false; @@ -59,6 +65,13 @@ in programs.git.settings.core.pager = mkIf cfg.enableGitIntegration "hunk pager"; + programs.jujutsu.settings = mkIf cfg.enableJujutsuIntegration { + ui = { + diff-formatter = ":git"; + pager = "hunk pager"; + }; + }; + home.file = mkIf cfg.enableClaudeIntegration { ".claude/skills/hunk-review".source = "${cfg.package}/skills/hunk-review"; };