aboutsummaryrefslogtreecommitdiffstats
path: root/oni
diff options
context:
space:
mode:
authorGravatar Tom Willemse2023-03-16 23:09:54 -0700
committerGravatar Tom Willemse2023-03-16 23:09:54 -0700
commit300c22cb56e5199e7bd6273ab8e06dc39e800659 (patch)
treec4c399ceff4e84491c0e57c6a56e8cbcacbbe2cc /oni
parent9059cec94c33cf2848cbc47c2c319139b03d116d (diff)
downloadnew-dotfiles-300c22cb56e5199e7bd6273ab8e06dc39e800659.tar.gz
new-dotfiles-300c22cb56e5199e7bd6273ab8e06dc39e800659.zip
Make picom restart automatically when the coonfiguration changes
Diffstat (limited to 'oni')
-rw-r--r--oni/home/services/picom.scm14
1 files changed, 12 insertions, 2 deletions
diff --git a/oni/home/services/picom.scm b/oni/home/services/picom.scm
index 28dde71..c195c3a 100644
--- a/oni/home/services/picom.scm
+++ b/oni/home/services/picom.scm
@@ -6,11 +6,14 @@
serialize-package))
#:use-module ((gnu packages compton)
#:select (picom))
+ #:use-module ((gnu packages admin)
+ #:select (shepherd))
#:use-module ((gnu home services)
#:select (home-profile-service-type
home-xdg-configuration-files-service-type
service-extension
- service-type))
+ service-type
+ home-run-on-change-service-type))
#:use-module ((gnu home services shepherd)
#:select (home-shepherd-service-type
shepherd-service))
@@ -183,6 +186,10 @@
#:log-file (format #f "~a/.local/var/log/picom.log" (getenv "HOME"))))
(stop #~(make-kill-destructor)))))
+(define (restart-picom-gexp _)
+ `(("files/.config/picom.conf"
+ ,#~(system* #$(file-append shepherd "/bin/herd") "restart" "picom"))))
+
(define home-picom-service-type
(service-type (name 'home-picom)
(extensions
@@ -194,7 +201,10 @@
home-picom-profile-service)
(service-extension
home-shepherd-service-type
- home-picom-shepherd-service)))
+ home-picom-shepherd-service)
+ (service-extension
+ home-run-on-change-service-type
+ restart-picom-gexp)))
(compose concatenate)
(default-value (home-picom-configuration))
(description "Configure Picom")))