aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2026-09-03 00:20:33 -0700
committerGravatar Tom Willemse2026-09-03 00:20:33 -0700
commitc7e335318b0cf8c1a3208902975f3ae2886baddd (patch)
tree721b181e9dcdfac576b58b41cc07dda546f28143
parent9b68985dc87c203d4575a70b5ec1c7faaf0deea3 (diff)
downloadnew-dotfiles-c7e335318b0cf8c1a3208902975f3ae2886baddd.tar.gz
new-dotfiles-c7e335318b0cf8c1a3208902975f3ae2886baddd.zip
data: Install local sbclrc to configure SBCLHEADmain
-rw-r--r--oni/home/config/common.scm1
-rw-r--r--oni/home/config/data.scm6
-rw-r--r--oni/home/services/lisp.scm38
3 files changed, 42 insertions, 3 deletions
diff --git a/oni/home/config/common.scm b/oni/home/config/common.scm
index 2b52f58..f762de5 100644
--- a/oni/home/config/common.scm
+++ b/oni/home/config/common.scm
@@ -243,7 +243,6 @@ LocalForward 19999 localhost:19999"))
"autoload -U $HOME/.zsh/functions/*(:t)\n"
"alias csi=\"rlwrap csi\"\n"
"alias scsh=\"rlwrap scsh\"\n"
- "alias sbcl=\"rlwrap sbcl\"\n"
"alias hc=herbstclient\n"
"alias reco=\"pushd ~/projects/new-dotfiles/ && guix home reconfigure config.scm; popd\"\n"
"setopt SHARE_HISTORY\n"
diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm
index 9ba3d81..38ae590 100644
--- a/oni/home/config/data.scm
+++ b/oni/home/config/data.scm
@@ -33,7 +33,8 @@
#:select (emacs-outli
emacs-syncthing-status))
#:use-module (oni packages emacs-config)
- #:use-module (oni packages pick-random-wallpaper))
+ #:use-module (oni packages pick-random-wallpaper)
+ #:use-module (oni home services lisp))
(home-environment
(packages (append
@@ -190,4 +191,5 @@
(home-guile-swayer-configuration
(extra-config
(list
- (local-file "../../../sway/.config/sway/init.scm")))))))))
+ (local-file "../../../sway/.config/sway/init.scm")))))
+ (service home-sbcl-service-type)))))
diff --git a/oni/home/services/lisp.scm b/oni/home/services/lisp.scm
new file mode 100644
index 0000000..b9b1721
--- /dev/null
+++ b/oni/home/services/lisp.scm
@@ -0,0 +1,38 @@
+(define-module (oni home services lisp)
+ #:use-module (gnu home services)
+ #:use-module (gnu packages lisp)
+ #:use-module (gnu packages lisp-xyz)
+ #:use-module (gnu services configuration)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+
+ #:export (home-sbcl-service-type
+ home-sbcl-configuration))
+
+(define-configuration home-sbcl-configuration
+ (package
+ (package sbcl)
+ "Package to use for setting SBCL")
+ (linedit-package
+ (package sbcl-linedit)
+ "Package for setting up linedit"))
+
+(define (add-sbcl-packages config)
+ (list (home-sbcl-configuration-package config)
+ (home-sbcl-configuration-linedit-package config)))
+
+(define (home-sbcl-config-files config)
+ `((".sbclrc"
+ ,(local-file "../../../sbcl/sbclrc"))))
+
+(define home-sbcl-service-type
+ (service-type (name 'home-sbcl)
+ (extensions
+ (list (service-extension
+ home-files-service-type
+ home-sbcl-config-files)
+ (service-extension
+ home-profile-service-type
+ add-sbcl-packages)))
+ (default-value (home-sbcl-configuration))
+ (description "Configure SBCL")))