{ lib, config, ... }: { # git plugins programs.git = { lfs.enable = true; }; programs.patdiff = { enable = lib.mkDefault true; enableGitIntegration = lib.mkDefault true; }; # 懶惰鬼賴皮 programs.lazygit = let patdiffCfg = config.programs.patdiff; in lib.mkIf patdiffCfg.enable { settings = { git.paging.externalDiffCommand = "${lib.getExe' patdiffCfg.package "patdiff-git-wrapper"}"; }; }; # git itself programs.git = { settings = { 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" ]; }; # identity programs.git.settings = { user.email = "leana.jiang+git@icloud.com"; user.name = "Léana 江"; signing = { key = "0x4E887A4CA9714ADA"; signByDefault = lib.mkDefault false; }; }; }