diff options
| author | 2025-09-18 22:09:42 -0700 | |
|---|---|---|
| committer | 2025-09-18 22:09:42 -0700 | |
| commit | 6506e3a04eb221d46f798fb1867b887337030790 (patch) | |
| tree | e1639a5f806684708175fd6568c96eca91899e80 | |
| parent | 1b315a52d94319fd921b68193bae3d07ad460a50 (diff) | |
| download | new-dotfiles-6506e3a04eb221d46f798fb1867b887337030790.tar.gz new-dotfiles-6506e3a04eb221d46f798fb1867b887337030790.zip | |
(oni home services xdisorg): Add sxhkd service
| -rw-r--r-- | oni/home/services/xdisorg.scm | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/oni/home/services/xdisorg.scm b/oni/home/services/xdisorg.scm index 51da034..f64be17 100644 --- a/oni/home/services/xdisorg.scm +++ b/oni/home/services/xdisorg.scm @@ -7,7 +7,8 @@ #:select (home-shepherd-service-type shepherd-service)) #:use-module ((gnu packages xdisorg) - #:select (xss-lock)) + #:select (xss-lock + sxhkd)) #:use-module ((gnu services configuration) #:select (define-configuration serialize-package)) @@ -18,7 +19,10 @@ #:select (package?)) #:export (home-xss-lock-configuration - home-xss-lock-service-type)) + home-xss-lock-service-type + + home-sxhkd-configuration + home-sxhkd-service-type)) (define-configuration home-xss-lock-configuration (package @@ -53,3 +57,37 @@ (compose identity) (default-value (home-xss-lock-configuration)) (description "Install and configure xss-lock."))) + +(define-configuration home-sxhkd-configuration + (package + (package sxhkd) + "Package to use for setting sxhkd")) + +(define (add-sxhkd-packages config) + (list (home-sxhkd-configuration-package config))) + +(define (home-sxhkd-shepherd-service config) + (list + (shepherd-service + (documentation "Start sxhkd") + (provision '(sxhkd)) + (auto-start? #t) + (start + #~(make-forkexec-constructor + (list #$(file-append (home-sxhkd-configuration-package config) "/bin/sxhkd")) + #:log-file (format #f "~a/.local/var/log/sxhkd.log" (getenv "HOME")))) + (stop #~(make-kill-destructor))))) + +(define home-sxhkd-service-type + (service-type + (name 'home-sxhkd) + (extensions + (list (service-extension + home-profile-service-type + add-sxhkd-packages) + (service-extension + home-shepherd-service-type + home-sxhkd-shepherd-service))) + (compose identity) + (default-value (home-sxhkd-configuration)) + (description "Install and configure sxhkd."))) |
