NOTE: This package is in very early stages. I’m using it regularly, but many improvements need yet to be made, especially in being more extensible in various ways.
Guix pull and update with sudoloop. Elisp code which creates and runs shell scripts to more efficiently update Guix with sudoloop (for guix system reconfigure, to stop a full update process from hanging in the middle waiting the user to enter their sudo password) and multiple attempts at each action (to counteract transient timeouts/failure). In general, to make doing full guix updates (e.g., a sequence of guix pull, guix package -u, sudo guix system reconfigure ..., guix home reconfigure ...) be less painful.
Easiest if you’re using Emacs 30 or above is the built-in vc-use-package. If you use an alternative/supplement package manager already, you probably know what you’re doing. Otherwise:
Clone this repo or copy the guix-sudoloop-pull-ups.el file somewhere and load it via init.el, e.g., copy to ~/.emacs.d/lisp/guix-sudoloop-pull-ups/ and put in your init.el:
(add-to-list 'load-path
"~/.emacs.d/lisp/guix-sudoloop-pull-ups")
(require 'guix-sudoloop-pull-ups)Included in Emacs 30+. Probably the easiest method:
(use-package guix-sudoloop-pull-ups
:vc (guix-sudoloop-pull-ups :url "https://github.com/emacsomancer/guix-sudoloop-pull-ups"
:branch "main")
:ensure t)The non-built-in version of vc-use-package uses slightly different syntax:
(use-package guix-sudoloop-pull-ups
:vc (:fetcher github :repo "emacsomancer/guix-sudoloop-pull-ups")
:ensure t)With elpaca:
(use-package guix-sudoloop-pull-ups
:ensure (:host github :repo "emacsomancer/guix-sudoloop-pull-ups"))With straight:
(use-package guix-sudoloop-pull-ups
:straight (guix-sudoloop-pull-ups :type git :host github :repo "emacsomancer/guix-sudoloop-pull-ups")
:ensure t)With quelpa:
(use-package guix-sudoloop-pull-ups
:quelpa (guix-sudoloop-pull-ups :fetcher github :repo "emacsomancer/guix-sudoloop-pull-ups")
:ensure t)add to init.el:
(use-package guix-sudoloop-pull-ups
:ensure (:host github :repo "emacsomancer/guix-sudoloop-pull-ups"))The sudoloop’ing part of the shell code is taken pretty much directly from Clar Fon’s implementation [https://codeberg.org/clarfonthey/sudoloop] (licensed under CC0 licence).
