summaryrefslogtreecommitdiff
path: root/modules/home-manager/personal/programs
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home-manager/personal/programs')
-rw-r--r--modules/home-manager/personal/programs/git.nix23
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