{ config, lib, ... }: let cfg = config.hm.conf.git; in { options.hm.conf.git.enable = lib.mkEnableOption "enables git vcs"; config = lib.mkIf cfg.enable { programs.git = { enable = true; lfs.enable = true; signing = { format = "ssh"; key = "~/.ssh/main_id_ed25519.pub"; signByDefault = true; }; settings = { user = { name = "adikro"; email = "adikro@disroot.org"; }; gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; init.defaultBranch = "main"; push.autoSetupRemote = true; pull.rebase = true; }; ignores = [ "result" ".direnv/" ]; }; home.file.".ssh/allowed_signers".text = '' adikro@disroot.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC610CJfgc3yII7MpLVqzEzQGa8Tsm+dih+CTXHXTnv4 ''; }; }