From 7b412c0c6767126fbe621dd5e736b84d98bb4df2 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Fri, 20 Feb 2026 01:07:31 -0800 Subject: [PATCH] feat(config): use SSH git protocol with gh credential helper --- dotfiles/emacs.d/elpaca-installer.el | 2 +- dotfiles/emacs.d/init.el | 2 ++ dotfiles/gitconfig | 4 ++++ nixos/imalison.nix | 6 ++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dotfiles/emacs.d/elpaca-installer.el b/dotfiles/emacs.d/elpaca-installer.el index f249738e..957031a6 100644 --- a/dotfiles/emacs.d/elpaca-installer.el +++ b/dotfiles/emacs.d/elpaca-installer.el @@ -3,7 +3,7 @@ (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) -(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" +(defvar elpaca-order '(elpaca :repo "git@github.com:progfolio/elpaca.git" :ref nil :depth 1 :inherit ignore :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package))) diff --git a/dotfiles/emacs.d/init.el b/dotfiles/emacs.d/init.el index c05817f3..a3ab6d72 100644 --- a/dotfiles/emacs.d/init.el +++ b/dotfiles/emacs.d/init.el @@ -11,6 +11,8 @@ (concat (file-name-directory load-file-name) filename)) (load-file (expand-file-name "elpaca-installer.el" user-emacs-directory)) +;; Default hosted git clones to SSH (e.g., git@github.com:owner/repo.git). +(setq elpaca-order-defaults (plist-put elpaca-order-defaults :protocol 'ssh)) (elpaca elpaca-use-package (elpaca-use-package-mode)) (setq use-package-enable-imenu-support t) (setq use-package-always-ensure t) diff --git a/dotfiles/gitconfig b/dotfiles/gitconfig index e3b28c65..0d2c428f 100644 --- a/dotfiles/gitconfig +++ b/dotfiles/gitconfig @@ -100,3 +100,7 @@ smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true +[credential "https://github.com"] + helper = !/run/current-system/sw/bin/gh auth git-credential +[credential "https://gist.github.com"] + helper = !/run/current-system/sw/bin/gh auth git-credential diff --git a/nixos/imalison.nix b/nixos/imalison.nix index 40bea132..af1d8cad 100644 --- a/nixos/imalison.nix +++ b/nixos/imalison.nix @@ -5,6 +5,12 @@ ./dotfiles-links.nix ]; + programs.git.enable = true; + programs.gh = { + enable = true; + settings.git_protocol = "ssh"; + }; + # Hyprland config starts this target on login (see `dotfiles/config/hypr/hyprland.conf`). systemd.user.targets.hyprland-session = { Unit = {