A channels-emacs-lock.scm => channels-emacs-lock.scm +11 -0
@@ 0,0 1,11 @@
+(list (channel
+ (name 'guix)
+ (url "https://codeberg.org/guix/guix-mirror")
+ (branch "emacs-team")
+ (commit
+ "55b894145ef13c6357bf79bd80de63cd366bcd26")
+ (introduction
+ (make-channel-introduction
+ "9edb3f66fd807b096b48283debdcddccfea34bad"
+ (openpgp-fingerprint
+ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))
M home/home-configuration.scm => home/home-configuration.scm +7 -4
@@ 36,6 36,7 @@
(gnu home services xdg)
(gnu home services syncthing)
(gnu home services)
+ (ruther home emacs)
(ruther home dwl wm)
(ruther home dwl scripts)
(ruther home packages themes)
@@ 103,13 104,15 @@
;; Home profile, under ~/.guix-home/profile.
(packages
(append
- (list
+ (cons*
dwl-mine
font-awesome-6
offlineimap
(apply-patches msmtp
- (local-file "./patches/msmtp-from-utf8-encoding.patch")))
+ (local-file "./patches/msmtp-from-utf8-encoding.patch"))
+ (emacs-for-tty)
+ (emacs-packages))
(specifications->packages
(list
"man-db"
@@ 164,7 167,7 @@
"xdg-utils" "libnotify"
;; Editing
- "emacs" "emacs-vterm"
+ ;; emacs and emacs-vterm from inferiors
"tree-sitter-vhdl" "tree-sitter-rust" "tree-sitter-bash"
"tree-sitter-awk" "tree-sitter-nix" "tree-sitter-python"
"tree-sitter-c" "tree-sitter-cpp" "tree-sitter-c-sharp"
@@ 340,7 343,7 @@ exec ~a ~a"
(waybar waybar-mine)))
(service home-emacs-service-type
(home-emacs-configuration
- (emacs emacs-pgtk)))
+ (emacs (emacs-for-wayland))))
(service hydroxide-service-type)
(service mpris-ctld-service-type)
(service home-blueman-applet-service-type)
M home/modules/ruther/home/dwl/wm.scm => home/modules/ruther/home/dwl/wm.scm +4 -4
@@ 13,6 13,7 @@
#:use-module (ruther packages wayland)
#:use-module (ruther home passwords)
+ #:use-module (ruther home emacs)
#:use-module (guix build-system trivial)
@@ 135,7 136,7 @@
(("\"passmenu\"") (string-append "\"" #$password-store-wl "/bin/passmenu\""))
(("\"passmenu-totp\"") (string-append "\"" #$password-store-passmenus "/bin/passmenu-totp\""))
(("\"passmenu-multi\"") (string-append "\"" #$password-store-passmenus "/bin/passmenu-multi\""))
- (("\"emacsclient\"") (string-append "\"" #$emacs-pgtk "/bin/emacsclient\""))
+ (("\"emacsclient\"") (string-append "\"" #$(emacs-for-wayland) "/bin/emacsclient\""))
(("%brightness%") #$brightness-script)
(("%printscreen%") #$printscreen-script)))))))))))
@@ 163,6 164,7 @@
(list
(packages->manifest
(list
+ (emacs-for-wayland)
xdg-data-dirs-package))
(specifications->manifest
'("brillo"
@@ 175,9 177,7 @@
"mpris-ctl"
"password-store-wl"
- "pass-otp"
-
- "emacs-pgtk")))))
+ "pass-otp")))))
(define dwl-mine-gexp
(with-imported-modules '((guix build utils)
A home/modules/ruther/home/emacs.scm => home/modules/ruther/home/emacs.scm +26 -0
@@ 0,0 1,26 @@
+(define-module (ruther home emacs)
+ #:use-module (srfi srfi-1)
+ #:use-module (guix memoization)
+ #:use-module (guix inferior)
+ #:use-module (guix ui)
+ #:export (emacs-for-tty
+ emacs-for-wayland
+ emacs-packages))
+
+(define emacs-channels
+ (load* "./channels-emacs-lock.scm" (make-user-module '((guix channels)))))
+
+(define emacs-inferior
+ (inferior-for-channels emacs-channels))
+
+(define emacs-for-tty
+ (mlambda ()
+ (first (lookup-inferior-packages emacs-inferior "emacs"))))
+(define emacs-packages
+ (mlambda ()
+ (list
+ (first (lookup-inferior-packages emacs-inferior "emacs-vterm")))))
+
+(define emacs-for-wayland
+ (mlambda ()
+ (first (lookup-inferior-packages emacs-inferior "emacs-pgtk"))))