diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2023-03-03 17:24:28 +0100 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2023-03-03 17:24:28 +0100 |
| commit | fdaf97a9acfbec43cc816357b73c0e746621c531 (patch) | |
| tree | b2fe9ad31629cc1d7dec200b5dfcd2715eb66f34 /modules/home-manager/personal/programs/git.nix | |
| parent | feb03b9630430af407dc078fb18d7a7d6d17e101 (diff) | |
home: split identities from social profile
Diffstat (limited to 'modules/home-manager/personal/programs/git.nix')
| -rw-r--r-- | modules/home-manager/personal/programs/git.nix | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/modules/home-manager/personal/programs/git.nix b/modules/home-manager/personal/programs/git.nix index 578f6a7..85ce0e4 100644 --- a/modules/home-manager/personal/programs/git.nix +++ b/modules/home-manager/personal/programs/git.nix @@ -1,13 +1,24 @@ -{ lib, pkgs, ... }: +{ config, lib, pkgs, ... }: -{ - programs.git = { +let + primaryEmail = let + primaryEmailList = builtins.filter (account: account.primary) + (lib.attrValues config.accounts.email.accounts); + in if primaryEmailList == [ ] then { userName = lib.mkDefault "Quentin Aristote"; - userEmail = lib.mkDefault "quentin@aristote.fr"; + address = lib.mkDefault "quentin@aristote.fr"; + } else + builtins.head primaryEmailList; +in { + programs.git = { + userName = primaryEmail.userName; + userEmail = primaryEmail.address; + signing = lib.mkIf (primaryEmail ? "gpg") { + inherit (primaryEmail.gpg) key signByDefault; + }; ignores = builtins.map builtins.readFile - (with pkgs.personal.static.gitignore; [ direnv emacs linux ]) - ++ [ + (with pkgs.personal.static.gitignore; [ direnv emacs linux ]) ++ [ # Personal rules '' # Nix |
