diff options
author | Sisiutl <sisiutl@egregore.fun> | 2024-09-30 15:10:42 +0200 |
---|---|---|
committer | Sisiutl <sisiutl@egregore.fun> | 2024-09-30 15:10:42 +0200 |
commit | 6b2480dfa85f2a38cb1b5c0c59458b0f89672317 (patch) | |
tree | 3c4f747075815018bb5d532ddb062cbae1bcaa77 /sigils/services/xdg.scm | |
parent | d9e62d0588d63f5996735ab49caef5ba29d7ebc4 (diff) |
xdg: new service
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."))) |