From f0d971ee1b2f7101e46580ea76374f873dfc9b3f Mon Sep 17 00:00:00 2001 From: Lilah Tascheter Date: Mon, 3 Nov 2025 17:19:19 -0600 Subject: [PATCH] gnu: home: Add himitsu-secret-service service. * gnu/home/services/secrets.scm (home-himitsu-secret-service-configuration): New configuration. (himitsu-secret-service-shepherd-service): New procedure. (home-himitsu-secret-service-type): New service. Change-Id: Ifb05edce06dbe6a24282701c94007a95dcda1313 Signed-off-by: jgart --- gnu/home/services/secrets.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/home/services/secrets.scm b/gnu/home/services/secrets.scm index 451a9a9816b..7bbeeb12928 100644 --- a/gnu/home/services/secrets.scm +++ b/gnu/home/services/secrets.scm @@ -30,7 +30,10 @@ home-himitsu-service-type home-himitsu-ssh-configuration - home-himitsu-ssh-service-type)) + home-himitsu-ssh-service-type + + home-himitsu-secret-service-configuration + home-himitsu-secret-service-type)) ;; ;; himitsu @@ -187,3 +190,32 @@ same has persist.") (const (list himitsu-ssh))))) (default-value (home-himitsu-ssh-configuration)) (description "Add support for ssh to store keys in Himitsu."))) + +;; +;; himitsu-secret-service +;; + +(define-configuration home-himitsu-secret-service-configuration + (package (file-like himitsu-secret-service) "himitsu-secret-service package to +use." empty-serializer) + (prefix himitsu-)) + +(define (himitsu-secret-service-shepherd-service config) + (let* ((package (home-himitsu-secret-service-configuration-package config)) + (binary (file-append package "/bin/hisecrets-agent"))) + (list (shepherd-service + (documentation "Start the Himitsu secret-service implementation.") + (provision '(himitsu-secret-service secret-service)) + (requirement '(himitsud dbus)) + (start #~(make-forkexec-constructor (list #$binary))) + (stop #~(make-kill-destructor)))))) + +(define home-himitsu-secret-service-type + (service-type + (name 'himitsu-secret-service) + (extensions + (list (service-extension home-shepherd-service-type + himitsu-secret-service-shepherd-service))) + (default-value (home-himitsu-secret-service-configuration)) + (description "Add support to Himitsu for the freedesktop.org +secret-service protocol.")))