summaryrefslogtreecommitdiff
path: root/.config/guix
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2024-06-03 00:32:17 -0600
committerbd <bdunahu@operationnull.com>2024-06-03 00:32:17 -0600
commitb3c2305e52e16be17c699dd36ad769a2e60fb9e8 (patch)
treeacfa23e7834524a9020f333b07aa21605f5918a8 /.config/guix
parentfebaf1247357246253fe711ea7ce646271393ca7 (diff)
Move emacs configuration to a service
Diffstat (limited to '.config/guix')
-rw-r--r--.config/guix/kvasir.scm1
-rw-r--r--.config/guix/modules/base.scm53
-rw-r--r--.config/guix/modules/emacs.scm69
-rw-r--r--.config/guix/vali.scm1
4 files changed, 81 insertions, 43 deletions
diff --git a/.config/guix/kvasir.scm b/.config/guix/kvasir.scm
index 520368c..0ee5737 100644
--- a/.config/guix/kvasir.scm
+++ b/.config/guix/kvasir.scm
@@ -11,6 +11,7 @@
#:use-module (gnu home services)
#:use-module (gnu image)
#:use-module (gnu packages)
+ #:use-module (gnu packages linux)
#:use-module (gnu services)
#:use-module (gnu services guix)
#:use-module (gnu system image)
diff --git a/.config/guix/modules/base.scm b/.config/guix/modules/base.scm
index e701035..4ebbc8c 100644
--- a/.config/guix/modules/base.scm
+++ b/.config/guix/modules/base.scm
@@ -14,6 +14,7 @@
#:use-module (gnu home services shepherd)
#:use-module (gnu home services ssh)
#:use-module (gnu home services xdg)
+ #:use-module (emacs)
#:use-module (gnu system)
#:use-module (guix gexp)
#:export (bd-base-system-packages
@@ -23,20 +24,17 @@
(use-service-modules base file-sharing
networking ssh)
-(use-package-modules aspell gnupg mail
- password-utils bittorrent
- pdf video cryptsetup
- curl emacs version-control
- web admin databases rsync
- lisp package-management
- texlive compression vim
- emacs-xyz)
+(use-package-modules gnupg mail password-utils
+ bittorrent pdf video
+ cryptsetup curl emacs
+ version-control web admin
+ databases rsync
+ package-management
+ texlive compression vim)
(define comm
(list
- aspell
- aspell-dict-en
gnupg
notmuch
offlineimap3
@@ -44,7 +42,7 @@
password-store
pinentry
transmission
- xpdf ; pdftotext
+ xpdf ; pdftotext
yt-dlp
))
@@ -58,48 +56,16 @@
netcat
recutils
rsync
- sbcl
stow
texlive
unzip
vim
))
-(define emacs
- (list
- emacs-all-the-icons
- emacs-all-the-icons-dired
- emacs-auctex
- emacs-consult
- emacs-ef-themes
- emacs-emms
- emacs-f
- emacs-guix
- emacs-htmlize
- emacs-hydra
- emacs-loop
- emacs-magit
- emacs-marginalia
- emacs-notmuch
- emacs-orderless
- emacs-org-roam
- emacs-paredit
- emacs-popper
- emacs-rainbow-delimiters
- emacs-rainbow-mode
- emacs-shackle
- emacs-simple-httpd
- emacs-slime
- emacs-transmission
- emacs-vertico
- emacs-visual-fill-column
- ))
-
(define bd-base-system-packages
(append!
comm
dev
- emacs
%base-packages
))
@@ -115,6 +81,7 @@
(define bd-base-home-services
(list
+ (service bd-home-emacs-service-type)
(service home-shepherd-service-type)
(service home-dicod-service-type)
diff --git a/.config/guix/modules/emacs.scm b/.config/guix/modules/emacs.scm
new file mode 100644
index 0000000..40890b5
--- /dev/null
+++ b/.config/guix/modules/emacs.scm
@@ -0,0 +1,69 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Provides a home-service, installing ;;
+;; my required emacs packages. Because ;;
+;; root cannot use my emacs config, ;;
+;; installing packages in my home is ;;
+;; ideal. ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+(define-module (emacs)
+ #:use-module (gnu)
+ #:use-module (gnu home services)
+ #:use-module (gnu services)
+ #:use-module (gnu services configuration)
+ #:use-module (gnu system)
+ #:use-module (guix gexp)
+ #:export (bd-home-emacs-service-type))
+
+(use-package-modules
+ aspell emacs-xyz
+ mail lisp)
+
+
+(define (bd-home-emacs-package-list config)
+ (list
+ ;; direct
+ emacs-all-the-icons
+ emacs-all-the-icons-dired
+ emacs-auctex
+ emacs-consult
+ emacs-ef-themes
+ emacs-emms
+ emacs-f ;; tmp
+ emacs-guix
+ emacs-htmlize
+ emacs-hydra ;;tmp
+ emacs-loop ;;tmp
+ emacs-magit
+ emacs-marginalia
+ emacs-notmuch
+ emacs-orderless
+ emacs-org-roam
+ emacs-paredit
+ emacs-popper
+ emacs-rainbow-delimiters
+ emacs-rainbow-mode
+ emacs-shackle
+ emacs-simple-httpd
+ emacs-slime
+ emacs-transmission
+ emacs-vertico
+ emacs-visual-fill-column
+
+ ;; associative
+ aspell
+ aspell-dict-en
+ sbcl
+ ))
+
+
+(define bd-home-emacs-service-type
+ (service-type (name 'emacs-config)
+ (description "A service which deploys my
+emacs configuration.")
+ (extensions
+ (list (service-extension
+ home-profile-service-type
+ bd-home-emacs-package-list)))
+ (default-value #f)))
diff --git a/.config/guix/vali.scm b/.config/guix/vali.scm
index e6c05df..5cadbcc 100644
--- a/.config/guix/vali.scm
+++ b/.config/guix/vali.scm
@@ -11,6 +11,7 @@
#:use-module (gnu home services)
#:use-module (gnu home services syncthing)
#:use-module (gnu packages)
+ #:use-module (gnu packages linux)
#:use-module (gnu services)
#:use-module (gnu services guix)
#:use-module (guix gexp)