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 = {