{ ... }: { flake.modules.homeManager.git = { config, lib, ... }: let user = config.meta.user; primaryEmail = builtins.head (lib.filter (email: email.primary) (builtins.attrValues user.emails)); usesScopedIdentity = user != null && user.sourceControl.profiles != { }; in { programs.git = { enable = true; signing.format = "ssh"; ignores = [ ".claude/" ".codex/" ]; settings = { init.defaultBranch = "main"; } // lib.optionalAttrs (!usesScopedIdentity) { user = { name = user.realName; email = primaryEmail.address; }; }; }; }; }