summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLilah Tascheter <lilah@lunabee.space>2025-11-03 18:26:23 -0600
committerjgart <jgart@dismail.de>2025-12-02 12:49:38 -0600
commit07adc47e55794586a510ec7e2b1977b8c82c2b4c (patch)
treefbc559f18d8c396b9e5ad2b4cd1818ab693fc508 /doc
parentf0d971ee1b2f7101e46580ea76374f873dfc9b3f (diff)
doc: home: Document Himitsu services.
* doc/guix.texi (Home Services)[Secrets Home Services]: New section... (Top,Home Services): ...and add to tables of contents. Change-Id: Ie290d2ad642c1679c410bbb96d1d7e5283988b7a Signed-off-by: jgart <jgart@dismail.de>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi92
1 files changed, 92 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index a83219a9fd0..df75ebd593f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -482,6 +482,7 @@ Home Services
482* Media: Media Home Services. Services for managing media. 482* Media: Media Home Services. Services for managing media.
483* Sway: Sway window manager. Setting up the Sway configuration. 483* Sway: Sway window manager. Setting up the Sway configuration.
484* Networking: Networking Home Services. Networking services. 484* Networking: Networking Home Services. Networking services.
485* Secrets: Secrets Home Services. Services for storing secrets.
485* Miscellaneous: Miscellaneous Home Services. More services. 486* Miscellaneous: Miscellaneous Home Services. More services.
486 487
487Platforms 488Platforms
@@ -50278,6 +50279,7 @@ services)}.
50278* Niri: Niri window manager. Setting up the Niri. 50279* Niri: Niri window manager. Setting up the Niri.
50279* Sway: Sway window manager. Setting up the Sway configuration. 50280* Sway: Sway window manager. Setting up the Sway configuration.
50280* Networking: Networking Home Services. Networking services. 50281* Networking: Networking Home Services. Networking services.
50282* Secrets: Secrets Home Services. Services for storing secrets.
50281* Miscellaneous: Miscellaneous Home Services. More services. 50283* Miscellaneous: Miscellaneous Home Services. More services.
50282@end menu 50284@end menu
50283@c In addition to that Home Services can provide 50285@c In addition to that Home Services can provide
@@ -53415,6 +53417,96 @@ documentation of the system service (@pxref{Networking Services,
53415@code{syncthing-service-type}}). 53417@code{syncthing-service-type}}).
53416@end defvar 53418@end defvar
53417 53419
53420@node Secrets Home Services
53421@subsection Secrets Home Services
53422
53423The @code{(gnu home services secrets)} module provides services pertaining to
53424storing secrets, notably including password managers.
53425
53426@subsubheading Himitsu Services
53427
53428@uref{https://himitsustore.org/, Himitsu} is a daemon for storing arbitrary
53429secrets encrypted by a single password. The daemon operates alongside a
53430prompter, which asks the user for permission when an application requests a
53431secret, and for the store password on first use in a session. Neither Himitsu
53432nor its underlying cryptography library have been indepednently audited.
53433
53434@defvar home-himitsu-service-type
53435This service provides the main Himitsu store daemon. It will not launch unless
53436you have a store set up - run @code{himitsu-store -i} after the service is added
53437to your profile to create it, and then @code{herd start himitsud} to restart the
53438service. Configuration is as follows:
53439@end defvar
53440
53441@deftp {Data Type} home-himitsu-configuration
53442@table @asis
53443@item @code{package} (default: @code{himitsu})
53444Package to find @code{himitsud} in.
53445
53446@item @code{notify-reuse} (optional)
53447Interpreted shell command to run on application access to an already-approved
53448secret.
53449
53450@item @code{prompter} (default: @code{(wrap-himitsu-prompter (file-append hiprompt-gtk "/bin/hiprompt-gtk"))})
53451Path to a prompter binary. Defaults to @code{hiprompt-gtk}, the reference
53452implementation. If your prompter is graphical, you should pass it through the
53453provided @code{wrap-himitsu-prompter} procedure, which will autodetect a running
53454display to prompt on, due to the Himitsu daemon starting before the display
53455server is online.
53456
53457@item @code{extra-options} (optional)
53458List of extra strings or G-expressions to insert verbatim into the Himitsu
53459configuration file. Each list element gets its own line.
53460
53461@end table
53462@end deftp
53463
53464Himitsu can be used through its command-line tool @code{hiq} or through any
53465number of supporting services, providing compatability to other applications.
53466Git credential support may be provided simply by adding the @code{himitsu-git}
53467package to your profile, but other such supporting services are listed below:
53468
53469@defvar home-himitsu-ssh-service-type
53470This service provides an @code{ssh-agent} implementation that stores keys
53471through Himitsu. You may interact with a running daemon through
53472@code{hissh-import} and @code{hissh-export}.
53473@end defvar
53474
53475@deftp {Data Type} home-himitsu-ssh-configuration
53476@table @asis
53477@item @code{package} (default: @code{himitsu-ssh})
53478Package to find @code{hissh-agent} in.
53479
53480@item @code{persist} (default: @code{'(session 300 refuse)})
53481List of options given when prompting to allow this service access to your list
53482of keys. The option chosen decides how long @code{himitsu-ssh} has this access.
53483Options can be either @code{'session} (access is retained until the daemon
53484closes), @code{'refuse} (access is declined and the prompter will not ask
53485again), @code{'skip} (ask again next use), or a numerical access timeout in
53486seconds.
53487
53488@item @code{disclose} (default: @code{'(skip session 300)})
53489List of options given when prompting to allow this service use of your secret
53490keys. Has the same format as @code{persist}.
53491
53492@end table
53493@end deftp
53494
53495@defvar home-himitsu-secret-service-type
53496This service provides a
53497@uref{https://specifications.freedesktop.org/secret-service/latest/, freedesktop
53498Secret Service} implementation, allowing Himitsu to replace
53499@pxref{Desktop Services, gnome-keyring-service-type} and
53500@pxref{Desktop Services, kwallet-service-type}.
53501@end defvar
53502
53503@deftp {Data Type} home-himitsu-secret-service-configuration
53504@table @asis
53505@item @code{package} (default: @code{himitsu-secret-service})
53506Package to find @code{hisecrets-agent} in.
53507
53508@end table
53509@end deftp
53418 53510
53419@node Miscellaneous Home Services 53511@node Miscellaneous Home Services
53420@subsection Miscellaneous Home Services 53512@subsection Miscellaneous Home Services