(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")))