diff options
Diffstat (limited to 'sigils/services/xdg.scm')
-rw-r--r-- | sigils/services/xdg.scm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sigils/services/xdg.scm b/sigils/services/xdg.scm new file mode 100644 index 0000000..b0725b7 --- /dev/null +++ b/sigils/services/xdg.scm @@ -0,0 +1,26 @@ +(define-module (sigils services xdg) + #:use-module (gnu home services) + #:use-module (gnu packages) + #:use-module (guix gexp) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) + +(define xdg-autostart-files-directory "autostart") +(define (xdg-autostart-files files) + "Put each file in FILES into the autostart directory" + (map (match-lambda + ((desktop-file package) + (cons (string-append xdg-autostart-files-directory "/" desktop-file ".desktop") + `(,(file-append (specification->package package) + (string-append "/share/applications/" desktop-file ".desktop")))))) + files)) + +(define-public home-xdg-autostart-files-service-type + (service-type (name 'home-xdg-autostart) + (extensions + (list (service-extension home-xdg-configuration-files-service-type + xdg-autostart-files))) + (compose concatenate) + (extend append) + (default-value '()) + (description "Files that will be put in @file{~/.guix-home/config/autostart} for XDG autostart compliance."))) |