{ lib, pkgs, ... }: let inherit (lib) mkIf mkMerge; in { config = { home.shellAliases = { ga = "git add"; gc = "git commit"; gp = "git push"; gr = "git rebase"; }; programs.git = mkMerge [ { enable = true; aliases = { fixup = "commit --fixup"; fuck = "reset HEAD~1"; pfusch = "push --force-with-lease --force-if-includes"; yikes = "commit --amend --no-edit"; }; lfs.enable = true; signing = { signByDefault = true; key = "AB27F5D1136B20D3149FBCC00389451731A3ADDD"; }; userName = "Hannah Izzie Gesser"; userEmail = "hannah@totient.eu"; extraConfig = { init.defaultBranch = "main"; push.autoSetupRemote = true; rebase = { autosquash = true; autostash = true; }; stash.includeUntracked = true; url = { "https://github.com/" = { insteadOf = [ "gh:" "github:" ]; }; "https://git.transgirl.cafe/" = { insteadOf = [ "tgc:" ]; }; }; }; } (mkIf pkgs.stdenv.hostPlatform.isDarwin { lfs.enable = true; extraConfig = { core.editor = "code --wait"; }; }) ]; }; }