summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoé Lopez <noelopez@free.fr>2026-04-20 15:10:53 +0200
committerNguyễn Gia Phong <cnx@loang.net>2026-07-22 12:20:11 +0900
commit72c521fffa3d0ce4c96111628498fd788ea71579 (patch)
tree60c271b08b4c73bc1c6c26e088937c82fdca86ef
parentfff9ae740d09eea88886452818837dc5fb1ade78 (diff)
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. Merges: https://codeberg.org/guix/guix/pulls/8023
-rw-r--r--doc/guix.texi63
-rw-r--r--gnu/home/services/xdg.scm8
2 files changed, 68 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 11138951c6d..d59a710e567 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -54780,6 +54780,69 @@ Where the service will write its logs. If unset, it defaults to
54780@end table 54780@end table
54781@end deftp 54781@end deftp
54782 54782
54783@node XDG Home Services
54784@subsection XDG Home Services
54785
54786The @code{(gnu home services xdg)} module provides services related to
54787XDG specifications for the desktop.
54788
54789@subsubheading XDG User Directories
54790
54791@defvar{home-xdg-user-directories-service-type}
54792
54793This service sets the names of default user directories such as
54794@samp{Downloads} and @samp{Documents}. These settings are respected by
54795most applications via @var{xdg-user-dirs}.
54796
54797To disable a directory, set it to @code{"$HOME"}.
54798
54799@end defvar
54800
54801@c %start of fragment
54802
54803@deftp {Data Type} home-xdg-user-directories-configuration
54804Available @code{home-xdg-user-directories-configuration} fields are:
54805
54806@table @asis
54807@item @code{desktop} (default: @code{"$HOME/Desktop"}) (type: string)
54808Default @samp{Desktop} directory, this is what you see on your
54809background when using a desktop environment, e.g. KDE.
54810
54811@item @code{documents} (default: @code{"$HOME/Documents"}) (type: string)
54812Default directory to put documents like PDFs.
54813
54814@item @code{download} (default: @code{"$HOME/Downloads"}) (type: string)
54815Default directory downloaded files, this is where your Web-broser will
54816put downloaded files in.
54817
54818@item @code{music} (default: @code{"$HOME/Music"}) (type: string)
54819Default directory for audio files.
54820
54821@item @code{pictures} (default: @code{"$HOME/Pictures"}) (type: string)
54822Default directory for pictures and images.
54823
54824@item @code{projects} (default: @code{"$HOME/Projects"}) (type: string)
54825Default directory for projects.
54826
54827@item @code{publicshare} (default: @code{"$HOME/Public"}) (type: string)
54828Default directory for shared files, which can be accessed by other users
54829on local machine or via network.
54830
54831@item @code{templates} (default: @code{"$HOME/Templates"}) (type: string)
54832Default directory for templates. They can be used by graphical file
54833manager or other apps for creating new files with some pre-populated
54834content.
54835
54836@item @code{videos} (default: @code{"$HOME/Videos"}) (type: string)
54837Default directory for videos.
54838
54839@end table
54840
54841@end deftp
54842
54843@c %end of fragment
54844
54845
54783@node Guix Home Services 54846@node Guix Home Services
54784@subsection Guix Home Services 54847@subsection Guix Home Services
54785 54848
diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm
index e4121a1e504..04bf2ed4184 100644
--- a/gnu/home/services/xdg.scm
+++ b/gnu/home/services/xdg.scm
@@ -204,9 +204,8 @@ for example).")))
204(define-configuration home-xdg-user-directories-configuration 204(define-configuration home-xdg-user-directories-configuration
205 (desktop 205 (desktop
206 (string "$HOME/Desktop") 206 (string "$HOME/Desktop")
207 "Default ``desktop'' directory, this is what you see on your 207 "Default @samp{Desktop} directory, this is what you see on your background
208desktop when using a desktop environment, 208when using a desktop environment, e.g. KDE.")
209e.g. GNOME (@pxref{XWindow,,,guix.info}).")
210 (documents 209 (documents
211 (string "$HOME/Documents") 210 (string "$HOME/Documents")
212 "Default directory to put documents like PDFs.") 211 "Default directory to put documents like PDFs.")
@@ -220,6 +219,9 @@ will put downloaded files in.")
220 (pictures 219 (pictures
221 (string "$HOME/Pictures") 220 (string "$HOME/Pictures")
222 "Default directory for pictures and images.") 221 "Default directory for pictures and images.")
222 (projects
223 (string "$HOME/Projects")
224 "Default directory for projects.")
223 (publicshare 225 (publicshare
224 (string "$HOME/Public") 226 (string "$HOME/Public")
225 "Default directory for shared files, which can be accessed by other 227 "Default directory for shared files, which can be accessed by other