{ pkgs, config, ... }: { services.gpg-agent.enable = true; programs = { git = { enable = true; delta.enable = true; includes = [ { condition = "gitdir:${config.home.homeDirectory}/GIT/Personal/"; contents = { user = { name = "Nicolai Van der Storm"; email = "nicolai@nvds.be"; signingkey = "CA53B34914EFD59B"; }; gpg.program = "gpg2"; commit.gpgsign = true; }; } { condition = "gitdir:${config.home.homeDirectory}/.dotfiles/"; contents = { user = { name = "Nicolai Van der Storm"; email = "nicolai@nvds.be"; signingkey = "CA53B34914EFD59B"; }; gpg.program = "gpg2"; commit.gpgsign = true; }; } ]; }; gpg = { enable = true; homedir = "${config.xdg.configHome}/gpg"; publicKeys = [ {source = "${config.xdg.configHome}/gpg/nicolaivds_pup.gpg";} {source = "${config.xdg.configHome}/gpg/nicolaivds.gpg";} ]; }; ssh = { enable = true; matchBlocks = { # Personal git server "git.nvds.be" = { hostname = "git.nvds.be"; identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519_personal"; }; # Github "github.com" = { hostname = "github.com"; identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519_personal"; }; # Gitlab "gitlab.com" = { hostname = "gitlab.com"; identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519_personal"; }; }; }; }; }