diff options
author | 2022-06-13 21:30:23 -0700 | |
---|---|---|
committer | 2022-06-13 21:30:23 -0700 | |
commit | 72d65a09e2f4bd489b7d40b98855e52089e40ae0 (patch) | |
tree | a95e7da17b146053872ab294fcc8ccd34866fe65 /oni/home/services/xinit.scm | |
parent | 671659c7d2f3e893f79d337942dfc67d13303ab5 (diff) | |
download | new-dotfiles-72d65a09e2f4bd489b7d40b98855e52089e40ae0.tar.gz new-dotfiles-72d65a09e2f4bd489b7d40b98855e52089e40ae0.zip |
Add xinit setting
It's a huge hack, but it works for now.
Diffstat (limited to 'oni/home/services/xinit.scm')
-rw-r--r-- | oni/home/services/xinit.scm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/oni/home/services/xinit.scm b/oni/home/services/xinit.scm new file mode 100644 index 0000000..c290ce1 --- /dev/null +++ b/oni/home/services/xinit.scm @@ -0,0 +1,47 @@ +(define-module (oni home services xinit) + #:use-module (srfi srfi-1) + #:use-module (gnu services configuration) + #:use-module (gnu home services) + #:use-module (gnu home services utils) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (oni gexp) + + #:export (home-xinit-service-type + home-xinit-configuration + home-xinit-extension)) + +(define-configuration home-xinit-configuration + (wm + (text-config '()) + "The window manager to start")) + +(define-configuration/no-serialization home-xinit-extension + (wm + (text-config '()) + "String")) + +(define (xinit-home-files config) + `((".xinit" + ,(mixed-executable-file + "xinit" + (serialize-text-config 'wm (home-xinit-configuration-wm config)))))) + +(define (home-xinit-extensions original-config extension-configs) + (home-xinit-configuration + (wm + (if (> (length extension-configs) 0) + (home-xinit-extension-wm (last extension-configs)) + (home-xinit-configuration-wm original-config))))) + +(define home-xinit-service-type + (service-type + (name 'home-xinit) + (extensions + (list (service-extension + home-files-service-type + xinit-home-files))) + (compose identity) + (extend home-xinit-extensions) + (default-value (home-xinit-configuration)) + (description "Configure xinit."))) |