UDMIMNC47TNUHDGEKHD43MTZKGXVHZANX233UVMMS2AMUV53X2KQC VPSWXLSQ4TF6VN2NNHZDBJVRDBMJ7A563ATI56VBZ3OOYPLB7WKAC 22ZQZZC2FJZNQIO3W7FL74TZE5SDRXDRV74ONLQPREHUOYQUH7TQC SFFECP2THJTJBB56QI2XI5KFJBEYMFXITTKXVQQTOYRVPBVMWIMQC KEP4UISCF7HKIWCHM3PW2SY7UHC5HSVDRG5MFEDFFP2A2O4YZWNAC TV73SKTSEZCUE6ATPRXGSZC2GMUVSUJZNWKFKN7BJM5GFKLTDUFAC RTBMBSBABSGTRICJ4AWBKWO3JJHBRKV6FGOMYPDD7X6SS6X35ZIQC 5G7WRBMWKG6DMCOHE6WQHTYZACUHO2UPBZRWN72CFH7P45NN5E7QC 7JXSMY6LHRP5IAYJMTKHYUOWAOFQFPG3ORTGW432GFVQ5GUKXVDQC QOY7D3GZ3WF7HAMEHAW2CIUB5TDQCFE3YDZEO23R5MFQEBN635WAC AHAA7UNL2RRXP7KERGVCC42GB564WS5BYSSFEOXW3EKVMB2UVEOAC 7XUY3NXFXDI44RGNNXP4A72ECRHKF3R62GG53PEZZF3XUNXMRKKAC KS6BKN73G3KK54BWWHT76DHYTHYPXVZYEALNOV6ENTW6CRKY53VQC GMG4ZCYOTGXSWXDRIKLDEEL22ZPRX46KWGCTKULRLFY4LQLN4TPQC 3GJU6PUPM2SSKIRESLX2EY52ICYB6AJMI3SUR4HBDITO25ARNHBQC TQ6WVY6RALKLQDJ7YNQ66G4M5NUR5HJXMQXVG7X4GYKDWRKA2LSAC TTZMDTJO3H6M2ZPFNW6HYXGFVM7YSBA4NKWQCXDNLVZK4QAXNFWQC XRIQFCB3Y7NWW3ZV45TX5IC6IW6JOPDRIXSTBNFTUVRWEYOFKAGQC 7IMSFNU3USLTPVRUSYUQ2QNCXL5CMSEMLJNCSISQK364DGTTYLFQC G3O7E437COAPDQV3562M73ILASWFALSWLRBXASQ32PH5F6UTEDBAC UDJHWRQM6REBOHZBCCPL2BJPH2HDBMT7VOKKS5PFBVNFBQIDWPWAC SCB7IK7YNYAR3WTV2XYGPYCGCUW2GPJSWAA5S2ZGCYSZ5AZKXIDAC 3KW73BOXOLDIRVKXNDKYYHBH2SDFJJLDXPNWJVVVDRSQVVSHS6YQC LGPKXYBO5GOAMSMPO72N37SZZ5FF3KQ7ZMUMSIKNRXPFRKQP4LKQC QRPPLHLL6YZU3Z35JNJFXHMBY3BX4THHN4AMWDFCUSFHYAHWTRHAC YFWDBAWXXEYS2Q2JAAL56B3NDNC4AV5KFNM3VPH6OXNKEOX6RDKAC CBA2QTOEFTCPM3AQGM6NESI35VBKLNRUR7Z767YVWPQPQTHJ7HKAC letcommonModule ={ pkgs, ... }:{environment.systemPackages = [pkgs.jujutsupkgs.difftasticpkgs.mergiraf];};in{config.flake.modules.hjem.jujutsu ={ pkgs, config, ... }:lettoml = pkgs.formats.toml { };jjConfig = {user.name = "PlumJam";user.email = "git@plumj.am";signing.key = "/home/jam/.ssh/id";signing.backend = "ssh";signing.behavior = "own";ui.conflict-marker-style = "snapshot";ui.default-command = "lg";ui.diff-editor = ":builtin";ui.diff-formatter = ["difft""--color""always""$left""$right"];ui.editor = config.environment.sessionVariables.EDITOR;ui.graph-style = "square";ui.movement.edit = true;ui.pager = ":builtin";snapshot.max-new-file-size = "10MiB";lazyjj.highlight-color = "#f2e5bc";git.sign-on-push = true; # sign in bulk on pushremotes.origin.auto-track-bookmarks = "glob:*";git.subprocess = true;git.fetch = [ "origin" ];git.push = "origin";aliases.".." = ["edit""@-"];aliases.",," = ["edit""@+"];aliases.a = [ "abandon" ];aliases.b = [ "bookmark" ];aliases.bs = ["bookmark""set"];aliases.bc = ["bookmark""create"];aliases.c = [ "commit" ];aliases.ci = ["commit""--interactive"];aliases.e = [ "edit" ];aliases.fetch = ["git""fetch"];aliases.f = ["git""fetch"];aliases.r = [ "rebase" ];aliases.res = [ "resolve" ];aliases.resolve-ast = ["resolve""--tool""mergiraf"];aliases.resa = [ "resolve-ast" ];aliases.s = [ "split" ];aliases.sm = ["split""--message"];aliases.sq = [ "squash" ];aliases.sqf = ["squash""--from"];aliases.sqi = ["squash""--interactive"];aliases.sqm = ["squash""--message"];aliases.sqmi = ["squash""--interactive""--message"];aliases.sh = [ "show" ];aliases.tug = ["bookmark""move""--from""closest(@-)""--to""closest_pushable(@)"];aliases.t = [ "tug" ];aliases.push = ["git""push"];aliases.p = ["git""push"];aliases.pb = ["git""push""--bookmark"];aliases.init = ["git""init""--colocate"];aliases.i = ["git""init""--colocate"];aliases.clone = ["git""clone""--colocate"];aliases.cl = ["git""clone""--colocate"];aliases.d = [ "diff" ];aliases.ds = [ "diff --stat" ];aliases.l = [ "log" ];aliases.la = ["log""--revisions""::"];aliases.ls = ["log""--summary"];aliases.lsa = ["log""--summary""--revisions""::"];aliases.lp = ["log""--patch"];aliases.lpa = ["log""--patch""--revisions""::"];aliases.lg = ["log""--summary""--no-pager""--limit=4"];aliases.el = [ "evolog" ];aliases.ol = ["op""log"];revset-aliases."closest(to)" = "heads(::to & bookmarks())";revset-aliases."closest_pushable(to)" ="heads(::to & ~description(exact:\"\") & (~empty() | merges()))";revsets.log = "present(@) | present(trunk()) | ancestors(remote_bookmarks().. | @.., 8)";templates.draft_commit_description = /* python */ ''concat(coalesce(description, "\n"),surround("\nJJ: This commit contains the following changes:\n", "",indent("JJ: ", diff.stat(72)),),"\nJJ: ignore-rest\n",diff.git(),)'';templates.git_push_bookmark = /* python */ ''"change/PlumJam-" ++ change_id.short()'';};in{xdg.config.files."jj/config.toml" = {source = toml.generate "config.toml" jjConfig;};rum.programs.nushell.aliases = {j = "jj";lj = "lazyjj";ju = "jjui";};};config.flake.modules.nixos.jujutsu-extra = commonModule;config.flake.modules.darwin.jujutsu-extra = commonModule;}
git.push = "origin";aliases.sm = [ "split" "--message" ];}};})];templates.git_push_bookmark = /* python */ ''"change/PlumJam-" ++ change_id.short()'';};templates.draft_commit_description = /* python */ ''concat(coalesce(description, "\n"),surround("\nJJ: This commit contains the following changes:\n", "",indent("JJ: ", diff.stat(72)),),"\nJJ: ignore-rest\n",diff.git(),)'';revsets.log = "present(@) | present(trunk()) | ancestors(remote_bookmarks().. | @.., 8)";revset-aliases."closest(to)" = "heads(::to & bookmarks())";revset-aliases."closest_pushable(to)" = "heads(::to & ~description(exact:\"\") & (~empty() | merges()))";aliases.l = [ "log" ];aliases.la = [ "log" "--revisions" "::" ];aliases.ls = [ "log" "--summary" ];aliases.lsa = [ "log" "--summary" "--revisions" "::" ];aliases.lp = [ "log" "--patch" ];aliases.lpa = [ "log" "--patch" "--revisions" "::" ];aliases.lg = [ "log" "--summary" "--no-pager" "--limit=4" ];aliases.el = [ "evolog" ];aliases.ol = [ "op" "log" ];aliases.clone = [ "git" "clone" "--colocate" ];aliases.cl = [ "git" "clone" "--colocate" ];aliases.d = [ "diff" ];aliases.ds = [ "diff --stat" ];aliases.init = [ "git" "init" "--colocate" ];aliases.i = [ "git" "init" "--colocate" ];aliases.push = [ "git" "push" ];aliases.p = [ "git" "push" ];aliases.pb = [ "git" "push" "--bookmark" ];aliases.tug = [ "bookmark" "move" "--from" "closest(@-)" "--to" "closest_pushable(@)" ];aliases.t = [ "tug" ];aliases.sh = [ "show" ];aliases.sq = [ "squash" ];aliases.sqf = [ "squash" "--from" ];aliases.sqi = [ "squash" "--interactive" ];aliases.sqm = [ "squash" "--message" ];aliases.sqmi = [ "squash" "--interactive" "--message" ];aliases.s = [ "split" ];aliases.res = [ "resolve" ];aliases.resolve-ast = [ "resolve" "--tool" "mergiraf" ];aliases.resa = [ "resolve-ast" ];aliases.r = [ "rebase" ];aliases.fetch = [ "git" "fetch" ];aliases.f = [ "git" "fetch" ];aliases.e = [ "edit" ];aliases.c = [ "commit" ];aliases.ci = [ "commit" "--interactive" ];aliases.a = [ "abandon" ];aliases.b = [ "bookmark" ];aliases.bs = [ "bookmark" "set" ];aliases.bc = [ "bookmark" "create" ];aliases.".." = [ "edit" "@-" ];aliases.",," = [ "edit" "@+" ];git.fetch = [ "origin" ];git.subprocess = true;remotes.origin.auto-track-bookmarks = "glob:*";lazyjj.highlight-color = "#f2e5bc";git.sign-on-push = true; # sign in bulk on pushsnapshot.max-new-file-size = "10MiB";ui.conflict-marker-style = "snapshot";ui.default-command = "lg";ui.diff-editor = ":builtin";ui.diff-formatter = [ "difft" "--color" "always" "$left" "$right" ];ui.editor = config.environment.variables.EDITOR;ui.graph-style = "square";ui.movement.edit = true;ui.pager = ":builtin";in {signing.key = "${homeArgs.config.home.homeDirectory}/.ssh/id";signing.backend = "ssh";signing.behavior = "own";home-manager.sharedModules = [{programs.mergiraf = enabled;}(homeArgs: letconfig' = homeArgs.config;in {# credit to https://github.com/rgbcube/ncc for most of thisprograms.jujutsu = enabled {settings = {user.name = config'.programs.git.settings.user.name;user.email = config'.programs.git.settings.user.email;programs.difftastic = enabled;environment.shellAliases = {j = "jj";lj = "lazyjj";};environment.systemPackages = mkIf config.isDesktop [pkgs.lazyjjpkgs.jjui];ju = "jjui";} // lib.optionalAttrs config.isDesktop {{ config, pkgs, lib, ... }: letinherit (lib) enabled mkIf;