diff options
-rw-r--r-- | home/git/default.nix | 8 | ||||
-rw-r--r-- | modules/home-manager/default.nix | 1 | ||||
-rw-r--r-- | modules/home-manager/git-credential-lastpass/default.nix | 14 |
3 files changed, 22 insertions, 1 deletions
diff --git a/home/git/default.nix b/home/git/default.nix index bd7295e..cf6419c 100644 --- a/home/git/default.nix +++ b/home/git/default.nix @@ -1,12 +1,18 @@ -{...}: { +{pkgs,lib,...}: let inherit (lib.modules) mkIf; +inherit (pkgs.stdenv.hostPlatform) isDarwin; +in { programs.git = { enable = true; # Set privacy-respecting user information. userName = "Linnnus"; userEmail = "[email protected]"; + + extraConfig.credential.helper = mkIf isDarwin [ "osxkeychain" ]; }; + programs.git-credential-lastpass.enable = !isDarwin; + home.shellAliases = { gs = "git status"; gd = "git diff"; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 3eb61a1..fc8366d 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -3,4 +3,5 @@ # goes in home/ instead. { iterm2 = import ./iterm2; + git-credential-lastpass = import ./git-credential-lastpass; } diff --git a/modules/home-manager/git-credential-lastpass/default.nix b/modules/home-manager/git-credential-lastpass/default.nix new file mode 100644 index 0000000..bbc8d34 --- /dev/null +++ b/modules/home-manager/git-credential-lastpass/default.nix @@ -0,0 +1,14 @@ +{pkgs, config, lib, ...}: let inherit (lib.options) mkEnableOption mkPackageOption; + inherit (lib.modules) mkIf; + cfg = config.programs.git-credential-lastpass; +in { + options.programs.git-credential-lastpass = { + enable = mkEnableOption "Lastpass credential helper"; + + package = mkPackageOption pkgs "lastpass-cli" {}; + }; + + config = mkIf cfg.enable { + programs.git.extraConfig.credential.helper = [ "${cfg.package}/bin/git-credential-lastpass" ]; + }; +} |