aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-11-19 10:02:15 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-11-19 10:02:15 +0100
commit1cc3b7e80f60a2a5a6a1400ed0b025efeae7a523 (patch)
tree77cbf407563c8c4b1acc00fe0fdb8ac79b1fdd95 /doc/guix.texi
parentf64ec2b15132c46bcdf0546196646237890832f6 (diff)
parentb7abea0fd6a146563830db1dc4ddd0cceb6fcf1c (diff)
downloadguix-1cc3b7e80f60a2a5a6a1400ed0b025efeae7a523.tar
guix-1cc3b7e80f60a2a5a6a1400ed0b025efeae7a523.tar.gz
Merge branch 'master' into gnome-team
Change-Id: I62da840b7600f2d3d8541e666d09e2f2a1b7d8c4
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi76
1 files changed, 76 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 61892866af..b0a71584ed 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8375,6 +8375,13 @@ hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
the file name, or a generic name if @code{#f}.
@end deffn
+@deffn {Procedure} git-fetch/lfs ref hash-algo hash
+This is a variant of the @code{git-fetch} procedure that supports the
+Git @acronym{LFS, Large File Storage} extension. This may be useful to
+pull some binary test data to run the test suite of a package, for
+example.
+@end deffn
+
@deftp {Data Type} git-reference
This data type represents a Git reference for @code{git-fetch} to
retrieve.
@@ -9441,6 +9448,41 @@ e.g., install @file{foo/sub/file} to @file{share/my-app/sub/file}.
@end itemize
@end defvar
+@defvar vim-build-system
+This variable is exported by @code{(guix build-system vim)}. It is an
+extension of the @code{copy-build-system}, installing Vim and Neovim plugins
+into locations where these two text editors know to find their plugins, using
+their packpaths.
+
+Packages which are prefixed with @code{vim-} will be installed in Vim's
+packpath, while those prefixed with @code{neovim-} will be installed in
+Neovim's packpath. If there is a @code{doc} directory with the plugin then
+helptags will be generated automatically.
+
+There are a couple of keywords added with the @code{vim-build-system}:
+@itemize
+@item With @code{plugin-name} it is possible to set the name of the plugin.
+While by default this is set to the name and version of the package, it is
+often more helpful to set this to name which the upstream author calls their
+plugin. This is the name used for @command{:packadd} from inside Vim.
+@item With @code{install-plan} it is possible to augment the built-in
+install-plan of the @code{vim-build-system}. This is particularly helpful if
+you have files which should be installed in other locations. For more
+information about using the @code{install-plan}, see the
+@code{copy-build-system} (@pxref{Build Systems, @code{copy-build-system}}).
+@item With @code{#:vim} it is possible to add this package to Vim's packpath,
+in addition to if it is added automatically because of the @code{vim-} prefix
+in the package's name.
+@item With @code{#:neovim} it is possible to add this package to Neovim's
+packpath, in addition to if it is added automatically because of the
+@code{neovim-} prefix in the package's name.
+@item With @code{#:mode} it is possible to adjust the path which the plugin is
+installed into. By default the plugin is installed into @code{start} and other
+options are available, including @code{opt}. Adding a plugin into @code{opt}
+will mean you will need to run, for example, @command{:packadd foo} to load the
+@code{foo} plugin from inside of Vim.
+@end itemize
+@end defvar
@cindex Clojure (programming language)
@cindex simple Clojure build system
@@ -44510,6 +44552,40 @@ The @code{(gnu home services desktop)} module provides services that you
may find useful on ``desktop'' systems running a graphical user
environment such as Xorg.
+@cindex X Window, for Guix Home services
+@cindex X11, in Guix Home
+@defvar home-x11-service-type
+This is the service type representing the X Window graphical display
+server (also referred to as ``X11'').
+
+X Window is necessarily started by a system service; on Guix System,
+starting it is the responsibility of @code{gdm-service-type} and similar
+services (@pxref{X Window}). At the level of Guix Home, as an
+unprivileged user, we cannot start X Window; all we can do is check
+whether it is running. This is what this service does.
+
+As a user, you probably don't need to worry or explicitly instantiate
+@code{home-x11-service-type}. Services that require an X Window
+graphical display, such as @code{home-redshift-service-type} below,
+instantiate it and depend on its corresponding @code{x11-display}
+Shepherd service (@pxref{Shepherd Home Service}).
+
+When X Window is running, the @code{x11-display} Shepherd service starts
+and sets the @env{DISPLAY} environment variable of the
+@command{shepherd} process, using its original value if it was already
+set; otherwise, it fails to start.
+
+The service can also be forced to use a given value for @env{DISPLAY},
+like so:
+
+@example
+herd start x11-display :3
+@end example
+
+In the example above, @code{x11-display} is instructed to set
+@env{DISPLAY} to @code{:3}.
+@end defvar
+
@defvar home-redshift-service-type
This is the service type for @uref{https://github.com/jonls/redshift,
Redshift}, a program that adjusts the display color temperature