diff options
author | Tom Willemse | 2022-04-20 22:23:27 -0700 |
---|---|---|
committer | Tom Willemse | 2022-04-20 22:23:27 -0700 |
commit | fd82bcabcd2f998a23931f3986e81d7cac949c13 (patch) | |
tree | 80d81fc1f34983a4d185a8a86a48dad03df17c90 /oni/home/services/xbindkeys.scm | |
parent | 33ef2ba4f1c866013724382e3c4a49a3e89c0692 (diff) | |
download | new-dotfiles-fd82bcabcd2f998a23931f3986e81d7cac949c13.tar.gz new-dotfiles-fd82bcabcd2f998a23931f3986e81d7cac949c13.zip |
Have rofi extend xbindkeys for keys to bind
Diffstat (limited to 'oni/home/services/xbindkeys.scm')
-rw-r--r-- | oni/home/services/xbindkeys.scm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/oni/home/services/xbindkeys.scm b/oni/home/services/xbindkeys.scm index 0fe2a9c..f361594 100644 --- a/oni/home/services/xbindkeys.scm +++ b/oni/home/services/xbindkeys.scm @@ -8,7 +8,8 @@ #:use-module (guix gexp) #:export (home-xbindkeys-service-type - home-xbindkeys-configuration)) + home-xbindkeys-configuration + home-xbindkeys-extension)) (define-configuration home-xbindkeys-configuration (package @@ -19,6 +20,12 @@ "Keybindings") (no-serialization)) +(define-configuration home-xbindkeys-extension + (keybindings + (alist '()) + "Keybindings") + (no-serialization)) + (define (serialize-keymap parent keymap) (string-join (let* ((prefixes (filter (lambda (pair) (list? (cdr pair))) keymap)) @@ -76,6 +83,13 @@ (define (add-xbindkeys-packages config) (list (home-xbindkeys-configuration-package config))) +(define (home-xbindkeys-extensions original-config extension-configs) + (home-xbindkeys-configuration + (inherit original-config) + (keybindings + (apply append (home-xbindkeys-configuration-keybindings original-config) + (map home-xbindkeys-extension-keybindings extension-configs))))) + (define (home-xbindkeys-shepherd-service config) (list (shepherd-service @@ -101,5 +115,6 @@ home-shepherd-service-type home-xbindkeys-shepherd-service))) (compose identity) + (extend home-xbindkeys-extensions) (default-value (home-xbindkeys-configuration)) (description "Install and configure xbindkeys."))) |