diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-09-07 18:04:27 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-09-11 18:00:15 +0200 |
commit | a2c3802be5301048fb899bc51b8935943daf73fc (patch) | |
tree | b5e7fd5024cfbc94e63f1db65eb28732a7b2758a /doc/ref | |
parent | Enable let-env to unset variables. (diff) | |
download | calp-a2c3802be5301048fb899bc51b8935943daf73fc.tar.gz calp-a2c3802be5301048fb899bc51b8935943daf73fc.tar.xz |
Add documentation and tests for xdg basedir.
Diffstat (limited to 'doc/ref')
-rw-r--r-- | doc/ref/guile.texi | 1 | ||||
-rw-r--r-- | doc/ref/guile/xdg-basedir.texi | 62 |
2 files changed, 63 insertions, 0 deletions
diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi index a6c5ebe4..f32dca65 100644 --- a/doc/ref/guile.texi +++ b/doc/ref/guile.texi @@ -8,6 +8,7 @@ @include guile/util-path.texi @include guile/util-config.texi @include guile/base64.texi +@include guile/xdg-basedir.texi @include guile/web.texi @include guile/vcomponent.texi diff --git a/doc/ref/guile/xdg-basedir.texi b/doc/ref/guile/xdg-basedir.texi new file mode 100644 index 00000000..cdcf179b --- /dev/null +++ b/doc/ref/guile/xdg-basedir.texi @@ -0,0 +1,62 @@ +@node XDG Base Directory +@section XDG Base Directory + +Implementation of the XDG Base Directory Specification +@url{https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html}, v0.8. + +It's recommended to include this module with a symbol prefix: + +@example +(use-modules ((xdg basedir) :prefix xdg-) + +(xdg-data-dirs) +⇒ ("/usr/local/share" "/usr/share") +@end example + +The users home directory is fetched from the environment variable @env{HOME}. + + +@defun data-home +@findex XDG_DATA_HOME +@env{XDG_DATA_HOME}, usually @file{~/.local/share}. +@end defun + +@defun config-home +@findex XDG_CONFIG_HOME +@env{XDG_CONFIG_HOME}, usually @file{~/.config}. +@end defun + +@defun state-home +@findex XDG_STATE_HOME +@env{XDG_STATE_HOME}, usually @file{~/.local/state}. +@end defun + +@defun data-dirs +@findex XDG_DATA_DIRS +@env{XDG_DATA_DIRS}, split into a list. + +Defaults to @code{("/usr/local/share" "/usr/share")}. +@end defun + +@defun config-dirs +@findex XDG_CONFIG_DIRS +@env{XDG_CONFIG_DIRS} as a list, usually @code{("/etc/xdg")}. + +Defaults to @file{/etc/xdg}. +@end defun + +@defun cache-home +@findex XDG_CACHE_HOME +@env{XDG_CACHE_HOME}, usually @file{~/.cache}. +@end defun + +@defun runtime_dir +@findex XDG_RUNTIME_DIR +If @env{XDG_RUNTIME_DIR} is set, than that is used. Otherwise a +warning message is printed to stderr and @file{/tmp} is returned. + +The standard also stipulates a few things about permissons for this +directory. These are currently not checked. + +Systemd usually sets this value to @file{/run/user/$(id -u)}. +@end defun |