{ lib, ... }: let signers = ids: builtins.concatStringsSep "\n" (map (id: "${id} ${keys.${id}.type} ${keys.${id}.key}") ids); keys = { "me@hanna.lol" = { key = "AAAAC3NzaC1lZDI1NTE5AAAAIEST6MgqRSn0N9ResAQ6Alt0V02GJF3XWneEDeheuQVI"; type = "ssh-ed25519"; }; }; in { xdg.config.files."git/signers".text = signers [ "me@hanna.lol" ]; xdg.config.files."git/config".text = lib.generators.toGitINI { user.name = "hanna"; user.email = "me@hanna.lol"; user.signingkey = "~/.ssh/id_ed25519.pub"; gpg.format = "ssh"; gpg.ssh.allowedsignersfile = "~/.config/git/signers"; commit.gpgsign = true; tag.gpgsign = true; core.autocrlf = false; core.repositoryformatversion = 1; core.compatobjectformat = "sha1"; core.objectformat = "sha256"; core.editor = "hx"; push.default = "simple"; push.autosetupremote = true; lfs.enabled = true; lfs.locksverify = true; init.defaultbranch = "main"; credential.helper = "store"; submodule.recurse = true; rerere.enabled = true; fetch.prune = true; pull.rebase = true; }; }