{ lib, config, ... }: { # git plugins programs.git = { lfs.enable = true; patdiff.enable = true; }; # 懶惰鬼賴皮 programs.lazygit = let patdiffCfg = config.programs.git.patdiff; in lib.mkIf patdiffCfg.enable { settings = { git.paging.externalDiffCommand = "${lib.getExe' patdiffCfg.package "patdiff-git-wrapper"}"; }; }; # git itself programs.git = { extraConfig = { init.defaultBranch = "trunk"; # I like trees push.autoSetupRemote = true; pull.ff = "only"; rerere.enabled = true; }; ignores = [ # sanity ".env" # vim "*~" "*.swp" # darwin "**/.DS_Store" # nix ".direnv/" "**/result" "**/result-*" # building an attr of derivation will make multiple links # pre-commit ".pre-commit-config.yaml" # dotfiles ".config/nvim/spell/" ]; }; # identity programs.git = { userEmail = "leana.jiang+git@icloud.com"; userName = "Léana 江"; signing = { key = "0x4E887A4CA9714ADA"; signByDefault = lib.mkDefault false; }; }; }