{ config, lib, pkgs, userName, userEmail, ... }: { programs.git = { package = pkgs.gitAndTools.gitFull; enable = true; userName = userName; userEmail = userEmail; extraConfig = { gpg = { format = "ssh"; }; "gpg \"ssh\"" = { program = "${lib.getExe' pkgs._1password-gui "op-ssh-sign"}"; }; commit = { gpgsign = true; }; user = { signingKey = "~/.ssh/id_ed25519.pub"; }; pull = { rebase = true; }; init = { defaultBranch = "main"; }; }; }; }