guix_mirror_bot pushed a commit to branch misc-world-rebuild
in repository guix.

commit 857121eaa7d08b5608dbbf3a144c2abefbe9ba50
Author: Noé Lopez <[email protected]>
AuthorDate: Mon Apr 20 15:10:53 2026 +0200

    home: xdg-user-directories: Support Projects directory.
    
    * gnu/home/services/xdg.scm (home-xdg-user-directories-configuration):
    Add projects field. Fix documentation of desktop field.
    * doc/guix.texi (Miscellaneous Home Services): Add documentation for
    home-xdg-user-directories.
    
    Change-Id: I8935d7c368cc9bd1d47ffbce3d3ab3cb60ac468a
    Signed-off-by: Noé Lopez <[email protected]>
---
 doc/guix.texi             | 63 +++++++++++++++++++++++++++++++++++++++++++++++
 gnu/home/services/xdg.scm |  8 +++---
 2 files changed, 68 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 7cddaba186..d19129c62c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -54288,6 +54288,69 @@ Where the service will write its logs.  If unset, it 
defaults to
 @end table
 @end deftp
 
+@node XDG Home Services
+@subsection XDG Home Services
+
+The @code{(gnu home services xdg)} module provides services related to
+XDG specifications for the desktop.
+
+@subsubheading XDG User Directories
+
+@defvar{home-xdg-user-directories-service-type}
+
+This service sets the names of default user directories such as
+@samp{Downloads} and @samp{Documents}.  These settings are respected by
+most applications via @var{xdg-user-dirs}.
+
+To disable a directory, set it to @code{"$HOME"}.
+
+@end defvar
+
+@c %start of fragment
+
+@deftp {Data Type} home-xdg-user-directories-configuration
+Available @code{home-xdg-user-directories-configuration} fields are:
+
+@table @asis
+@item @code{desktop} (default: @code{"$HOME/Desktop"}) (type: string)
+Default @samp{Desktop} directory, this is what you see on your
+background when using a desktop environment, e.g.  KDE.
+
+@item @code{documents} (default: @code{"$HOME/Documents"}) (type: string)
+Default directory to put documents like PDFs.
+
+@item @code{download} (default: @code{"$HOME/Downloads"}) (type: string)
+Default directory downloaded files, this is where your Web-broser will
+put downloaded files in.
+
+@item @code{music} (default: @code{"$HOME/Music"}) (type: string)
+Default directory for audio files.
+
+@item @code{pictures} (default: @code{"$HOME/Pictures"}) (type: string)
+Default directory for pictures and images.
+
+@item @code{projects} (default: @code{"$HOME/Projects"}) (type: string)
+Default directory for projects.
+
+@item @code{publicshare} (default: @code{"$HOME/Public"}) (type: string)
+Default directory for shared files, which can be accessed by other users
+on local machine or via network.
+
+@item @code{templates} (default: @code{"$HOME/Templates"}) (type: string)
+Default directory for templates.  They can be used by graphical file
+manager or other apps for creating new files with some pre-populated
+content.
+
+@item @code{videos} (default: @code{"$HOME/Videos"}) (type: string)
+Default directory for videos.
+
+@end table
+
+@end deftp
+
+@c %end of fragment
+
+
 @node Guix Home Services
 @subsection Guix Home Services
 
diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm
index e4121a1e50..04bf2ed418 100644
--- a/gnu/home/services/xdg.scm
+++ b/gnu/home/services/xdg.scm
@@ -204,9 +204,8 @@ for example).")))
 (define-configuration home-xdg-user-directories-configuration
   (desktop
    (string "$HOME/Desktop")
-   "Default ``desktop'' directory, this is what you see on your
-desktop when using a desktop environment,
-e.g. GNOME (@pxref{XWindow,,,guix.info}).")
+   "Default @samp{Desktop} directory, this is what you see on your background
+when using a desktop environment, e.g. KDE.")
   (documents
    (string "$HOME/Documents")
    "Default directory to put documents like PDFs.")
@@ -220,6 +219,9 @@ will put downloaded files in.")
   (pictures
    (string "$HOME/Pictures")
    "Default directory for pictures and images.")
+  (projects
+   (string "$HOME/Projects")
+   "Default directory for projects.")
   (publicshare
    (string "$HOME/Public")
    "Default directory for shared files, which can be accessed by other

Reply via email to