diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-10-16 09:57:44 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-10-22 22:09:00 -0700 |
commit | dedb512f8f2282f7de3d5b56e7551e486e37840c (patch) | |
tree | 4f9b9bbd43c9d7ac174bc9508a0f4cd43ba83815 /doc | |
parent | 7a51c78c6e0cd06dd31f3f28cd941fde15eb17d6 (diff) |
gexp: Add 'file-union'.
* gnu/services.scm (file-union): Move to...
* guix/gexp.scm (file-union): ... here. New procedure.
* doc/guix.texi (G-Expressions): Document it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 2ccba98092..ce8b977e1b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4990,6 +4990,23 @@ as in: This is the declarative counterpart of @code{text-file*}. @end deffn +@deffn {Scheme Procedure} file-union @var{name} @var{files} +Return a @code{<computed-file>} that builds a directory containing all of @var{files}. +Each item in @var{files} must be a two-element list where the first element is the +file name to use in the new directory, and the second element is a gexp +denoting the target file. Here's an example: + +@example +(file-union "etc" + `(("hosts" ,(plain-file "hosts" + "127.0.0.1 localhost")) + ("bashrc" ,(plain-file "bashrc" + "alias ls='ls --color'")))) +@end example + +This yields an @code{etc} directory containing these two files. +@end deffn + @deffn {Scheme Procedure} file-append @var{obj} @var{suffix} @dots{} Return a file-like object that expands to the concatenation of @var{obj} and @var{suffix}, where @var{obj} is a lowerable object and each |