aboutsummaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAge
* gexp: Add 'with-extensions'.Ludovic Courtès2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | * guix/gexp.scm (<gexp>)[extensions]: New field. (gexp-attribute): New procedure. (gexp-modules): Write in terms of 'gexp-attribute'. (gexp-extensions): New procedure. (gexp->derivation): Add #:effective-version. [extension-flags]: New procedure. Honor extensions of EXP. (current-imported-extensions): New syntax parameter. (with-extensions): New macro. (gexp): Honor CURRENT-IMPORTED-EXTENSIONS. (compiled-modules): Add #:extensions and honor it. (load-path-expression): Likewise. (gexp->script, gexp->file): Honor extensions. * tests/gexp.scm (%extension-package): New variable. ("gexp-extensions & ungexp") ("gexp-extensions & ungexp-splicing") ("gexp-extensions and literal Scheme object") ("gexp->derivation & with-extensions") ("program-file & with-extensions"): New tests. * doc/guix.texi (G-Expressions): Document 'with-extensions'.
* services: Add hpcguix-web.Rouby Pierre-Antoine2018-06-01
| | | | | | | | | | | | * gnu/service/web.scm (<hpcguix-web-configuration>): New record-type. (%hpcguix-web-accounts): New variable. (%hpcguix-web-activation,hpcguix-web-shepherd-service, hpcguix-web-service-type): New procedures. * gnu/tests/web.scm (run-hpcguix-web-server-test): New procedure. (%hpcguix-web-specs, %hpcguix-web-os, %test-hpcguix-web): New variable. * doc/guix.texi (Web Services): Add 'hpcguix-web'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* doc: Add concept index entry for Docker and guix pack.Ricardo Wurmus2018-05-28
| | | | * doc/guix.texi (Invoking guix pack): Add concept index entry for Docker.
* pack: Add support for squashfs images.Ricardo Wurmus2018-05-28
| | | | | | | * guix/scripts/pack.scm (%formats): Add "squashfs" format. (guix-pack): Adjust "archiver" dependent on pack-format. (squashfs-image): New procedure. * doc/guix.texi (Invoking guix pack): Document it.
* file-systems: Remove 'title' field and add <file-system-label>.Ludovic Courtès2018-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'title' field was easily overlooked and was an endless source of confusion. Now, the value of the 'device' field is self-contained. * gnu/system/file-systems.scm (<file-system>): Change constructor name to '%file-system'. [title]: Remove. (<file-system-label>): New record type with printer. (report-deprecation, device-expression) (process-file-system-declaration, file-system): New macros. (file-system-title): New procedure. (file-system->spec, spec->file-system): Adjust to handle <file-system-label>. * gnu/system.scm (bootable-kernel-arguments): Add case for 'file-system-label?'. (read-boot-parameters): Likewise. (mapped-device-user): Avoid 'file-system-title'. (fs->boot-device): Remove. (operating-system-boot-parameters): Use 'file-system-device' instead of 'fs->boot-device'. (device->sexp): Add case for 'file-system-label?'. * gnu/bootloader/grub.scm (grub-root-search): Add case for 'file-system-label?'. * gnu/system/examples/bare-bones.tmpl, gnu/system/examples/beaglebone-black.tmpl, gnu/system/examples/lightweight-desktop.tmpl, gnu/system/examples/vm-image.tmpl: Remove uses of 'title'. * gnu/system/vm.scm (virtualized-operating-system): Remove uses of 'file-system-title'. * guix/scripts/system.scm (check-file-system-availability): Likewise, and adjust fix-it hint. (check-initrd-modules)[file-system-/dev]: Likewise. * gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title' parameter. [canonical-title]: Remove. Match on SPEC's type rather than on CANONICAL-TITLE. (mount-file-system): Adjust caller. * gnu/build/linux-boot.scm (boot-system): Interpret ROOT here. * gnu/services/base.scm (file-system->fstab-entry): Remove use of 'file-system-title'. * doc/guix.texi (File Systems): Remove documentation of the 'title' field. Rewrite documentation of 'device' and document 'file-system-label'.
* services: Add Enlightenment desktop service.Efraim Flashner2018-05-20
| | | | | | | * gnu/services/desktop.scm (<enlightenment-desktop-configuration>, enlightenment-desktop-service-type): New variables. * doc/guix.texi (Desktop Services): Document the service. * NEWS: Mention it.
* services: cgit: Make project-list permit a file-object.Christopher Baines2018-05-18
| | | | | | | | | | Instead of having the service manage the list, it's useful to be able to point this at an existing file, for example, when using cgit together with gitolite. * gnu/services/cgit.scm (project-list?): New procedure. (serialize-project-list): Handle file-object values. (<cgit-configuration>): Change the predicate for project-list to allow lists and file-objects.
* daemon: Allow building for armhf-linux on aarch64-linux.Efraim Flashner2018-05-17
| | | | | | | | | | * nix/libstore/build.cc (canBuildLocally): Allow building armhf-linux builds on aarch64-linux. (DerivationGoal::runChild) Throw error if attempting to build for armhf-linux on an unsupported platform. * doc/guix.texi (Invoking guix build): Document how to build natively for armhf-linux on aarch64-linux. Add note that on some aarch64 machines this is unsupported.
* doc: Update 'guix size' example.Ludovic Courtès2018-05-16
| | | | * doc/guix.texi (Invoking guix size): Update example.
* doc: Improve 'guix size' documentation.Ludovic Courtès2018-05-16
| | | | | | | | | Suggested by Martin Castillo <castilma@uni-bremen.de>. Fixes <https://bugs.gnu.org/31456>. * doc/guix.texi (Invoking guix size): Clarify that 'guix size' looks for ungrafted packages. Clarify that it can be passed several package specifications.
* doc: Update documentation of guix lintBjörn Höfling2018-05-14
| | | | | | | * doc/guix.texi (Invoking guix lint): Add cpe-version to example. (Invoking guix lint): Add example for lint-hidden-cve. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* services: bitlbee: Add plugins.Pierre-Antoine Rouby2018-05-11
| | | | | | | | * doc/guix.texi (Bitlbee Service): Add plugins. * gnu/services/messaging.scm (<bitlbee-configuration>): Add plugins argument. (bitlbee-shepherd-service): Update config file. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* pack: Add '--relocatable'.Ludovic Courtès2018-05-10
| | | | | | | | | | | | | * gnu/packages/aux-files/run-in-namespace.c: New file. * Makefile.am (AUX_FILES): Add it. * guix/scripts/pack.scm (<c-compiler>): New record type. (c-compiler, bootstrap-c-compiler, c-compiler-compiler): New procedures. (self-contained-tarball): Use 'relative-file-name' for the SOURCE -> TARGET symlink. (docker-image): Add 'defmod' to please Geiser. (wrapped-package, map-manifest-entries): New procedures. (%options, show-help): Add --relocatable. (guix-pack): Honor it.
* doc: Document 'android-ndk-build-system'.Danny Milosavljevic2018-05-09
| | | | * doc/guix.texi (Build Systems): Add 'android-ndk-build-system'.
* doc: Fix typo.Tobias Geerinckx-Rice2018-05-08
| | | | * doc/guix.texi (X Window): Fix ‘xinitr ’ typo.
* doc: Fix typo.Efraim Flashner2018-05-07
| | | | | * doc/guix.texi (Desktop Services): Use 'any' when refering to more than two desktop environments.
* gnu: Add sound service.Oleg Pykhalov2018-05-02
| | | | | | * gnu/services/sound.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add this. * doc/guix.texi (Sound Services): New chapter.
* services: gpm: Provide a default value and document 'gpm-service-type'.Ludovic Courtès2018-04-30
| | | | | | | | | * gnu/services/base.scm (%default-gpm-options): New variable. (<gpm-configuration>)[gpm, options]: Add default values. (gpm-service-type)[default-value]: New field. (gpm-service): Use %DEFAULT-GPM-OPTIONS and mark as deprecated. * doc/guix.texi (Base Services): Document 'gpm-service-type' and 'gpm-configuration'. Remove 'gpm-service'.
* services: Add modem-manager-service-type.Danny Milosavljevic2018-04-30
| | | | | | | | | * gnu/services/networking.scm (modem-manager-service-type): New variable. (<modem-manager-configuration>): New variable. (modem-manager-configuration): New procedure. (modem-manager-configuration?): New procedure. * doc/guix.texi (Networking Services): Document it. * gnu/tests/networking.scm: Import (gnu services base).
* build: Use only one domain for guix-manual.Julien Lepiller2018-04-29
| | | | | | | | | | * Makefile.am (assert-no-store-file-names): Exclude guix-manual. * po/doc/guix.pot po/doc/contributing.pot: Merge into... * po/doc/guix-manual.pot: ...this. * po/doc/guix.fr.po po/doc/contributing.fr.po: Merge into... * po/doc/guix-manual.fr.po: ...this. * doc/local.mk: Replace old file names. * po/doc/local.mk: Replace old file names.
* doc: Add tips for Vim users.Ludovic Courtès2018-04-27
| | | | * doc/contributing.texi (Formatting Code): Add a paragraph about Vim.
* build: Add silent rules for Texinfo xref translation.Ludovic Courtès2018-04-25
| | | | | | | * Makefile.am (AM_V_POXREF, AM_V_POXREF_, AM_V_POXREF_0): New variables. * doc/local.mk ($(srcdir)/%D%/guix.%.texi) ($(srcdir)/%D%/contributing.%.texi): Use $(AM_V_POXREF).
* services: Add dhcpd-service-type and <dhcpd-configuration>.Chris Marusich2018-04-21
| | | | | | | | | | | | | | | | * doc/guix.texi (Networking Services): Document it. * gnu/services/networking.scm (dhcpd-service-type): Add it. (dhcpd-configuration, dhcpd-configuration?): Add it. (dhcpd-configuration-package): Add it. (dhcpd-configuration-config-file): Add it. (dhcpd-configuration-version): Add it. (dhcpd-configuration-run-directory): Add it. (dhcpd-configuration-lease-file): Add it. (dhcpd-configuration-pid-file): Add it. (dhcpd-configuration-interfaces): Add it. * gnu/tests/networking.scm (minimal-dhcpd-v4-config-file) (dhcpd-v4-configuration, %dhcpd-os, run-dhcpd-test, %test-dhcpd): New variables.
* gnu: doc: Add French documentation.Julien Lepiller2018-04-19
| | | | | | | | | | * doc/contributing.fr.texi: New file. * doc/guix.fr.texi: New file. * doc/local.mk (TRANSLATED_INFO): Add them. (info_TEXINFOS): Add guix.fr.texi. * po/doc/contributing.fr.po: New file. * po/doc/guix.fr.po: New file. * po/doc/local.mk (EXTRA_DIST): Add them.
* gnu: doc: Allow documentation to be translated.Julien Lepiller2018-04-19
| | | | | | | | | | | | * po/doc/contributing.pot: New file. * po/doc/guix.pot: New file. * po/doc/local.mk: New file. * Makefile.am: Include it. Add gettext command. Add silent rules for po4a. * configure.ac: Look for po4a-translate and po4a-updatepo. * doc/local.mk: Add rules to generate translated texi files. (TRANSLATED_INFO): New variable. (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it. * .gitignore: Add generated files.
* services: cgit: Add support for project-list.Clément Lassieur2018-04-11
| | | | | | | | | * doc/guix.texi (Version Control Services): Update accordingly. * gnu/services/cgit.scm (cgit-configuration)[project-list]: New field. (serialize-project-list): New procedure that uses PLAIN-FILE to generate a file from the string list given by the user as input. (serialize-cgit-configuration): Make sure to serialize 'project-list' before 'repostory-directory'.
* services: cgit: Add support for file-like objects.Clément Lassieur2018-04-11
| | | | | | | | | | | | | | | | | | * doc/guix.texi (Version Control Services): Update accordingly. * gnu/services/cgit.scm (serialize-field, serialize-string, serialize-boolean, serialize-integer, serialize-repository-cgit-configuration-list, serialize-nginx-server-configuration-list, serialize-repo-field, serialize-repo-boolean, serialize-repo-integer, serialize-module-link-path, serialize-repository-directory, serialize-mimetype-alist): Return strings or string-valued gexps and stop printing. (repository-cgit-configuration)[source-filter, about-filter, commit-filter, logo, owner-filter], (cgit-configuration)[auth-filter, commit-filter, css, email-filter, favicon, include, logo, owner-filter, mimetype-file, readme, source-filter]: Replace STRING with FILE-OBJECT. (file-object?, serialize-file-object, repo-file-object?, serialize-repo-file-object): New procedures. (cgit-activation): Use SERIALIZE-CONFIGURATION's return value with MIXED-TEXT-FILE instead of using its output with PLAIN-FILE.
* gexp: 'scheme-file' can splice expressions.Ludovic Courtès2018-04-11
| | | | | | | | | | * guix/gexp.scm (<scheme-file>)[splice?]: New field. (scheme-file): Add #:splice? and pass it to '%scheme-file'. (scheme-file-compiler): Pass SPLICE? to 'gexp->file'. (gexp->file): Add #:splice? and honor it. * tests/gexp.scm ("gexp->file + #:splice?"): New test. ("gexp->derivation & with-imported-module & computed module"): Use #:splice? #t.
* doc: Recommend nano during installation.Ludovic Courtès2018-04-04
| | | | | * doc/guix.texi (Preparing for Installation) (Proceeding with the Installation): Recommend nano.
* guix package: Add '--allow-collisions'.Ludovic Courtès2018-03-31
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/30830>. Suggested by Ricardo Wurmus <rekado@elephly.net>. * guix/scripts/package.scm (build-and-use-profile): Add #:allow-collisions? and pass it to 'profile-derivation'. (show-help, %options): Add '--allow-collisions'. (manifest-action, process-actions): Pass #:allow-collisions? to 'build-and-use-profile'. * tests/guix-package.sh: Add collision test. * doc/guix.texi (Invoking guix package): Document '--allow-collisions'.
* doc: Improve <service-type> documentation.Chris Marusich2018-03-29
| | | | | * doc/guix.texi (Service Reference): Correct and clarify some statements regarding the "compose" and "extend" procedures of <service-type>.
* guix-install.sh: Explicitly set root's home directory.Chris Marusich2018-03-29
| | | | | | | | | | | * etc/guix-install.sh (ROOT_HOME): New variable. (sys_create_store, sys_enable_guix_daemon, sys_authorize_build_farms): Use ROOT_HOME instead of ~root or the HOME environment variable. * doc/guix.texi (Binary Installation): Instead of assuming that ~ and $HOME refer to root's directory simply because commands are being run as root, explicilty refer to it via ~root. Fixes: <https://bugs.gnu.org/30728>
* weather: Report continuous integration stats.Ludovic Courtès2018-03-28
| | | | | | | * guix/scripts/weather.scm (histogram, throughput, queued-subset): New procedures. (report-server-coverage): Report CI information. * doc/guix.texi (Invoking guix weather): Document it.
* guix gc: Add '--derivers'.Ludovic Courtès2018-03-27
| | | | | | | * guix/scripts/gc.scm (show-help, %options): Add '--derivers'. (guix-gc): Handle 'list-derivers'. * tests/guix-gc.sh: Add test. * doc/guix.texi (Invoking guix gc): Document it.
* graph: Add "module" node type.Ludovic Courtès2018-03-27
| | | | | | | | | | * guix/scripts/graph.scm (module-from-package) (source-module-dependencies*): New procedures. (%module-node-type): New variable. (%node-types): Add it. * guix/modules.scm (source-module-dependencies): Export. * tests/graph.scm ("module graph"): New test. * doc/guix.texi (Invoking guix graph): Document it.
* doc: Fix typo.Tobias Geerinckx-Rice2018-03-25
| | | | * doc/guix.texi (Web Services): Fix ‘wether’ typo.
* system: Add "guix system docker-image" command.Chris Marusich2018-03-24
| | | | | | | | | | | * gnu/system/vm.scm (system-docker-image): New procedure. * guix/scripts/system.scm (system-derivation-for-action): Add a case for docker-image, and in that case, call system-docker-image. (show-help): Document docker-image. (guix-system): Parse arguments for docker-image. * doc/guix.texi (Invoking guix system): Document "guix system docker-image". * gnu/system/examples/docker-image.tmpl: New file.
* tests: Add tests for "guix pack".Chris Marusich2018-03-24
| | | | | | | | | | | | | | * guix/scripts/pack.scm (bootstrap-xz): New variable. (%options) <--bootstrap>: New option. (show-help): Document the new --bootstrap option. (guix-pack): When --bootstrap is specified, use the bootstrap Guile, tar, and xz to build the pack, and do not use any profile hooks or locales. * doc/guix.texi (Invoking guix pull): Document the new --bootstrap option. * tests/guix-pack.sh: New file. * Makefile.am (SH_TESTS): Add guix-pack.sh. * gnu/packages/package-management.scm (guix) <inputs>: Add util-linux.
* doc: Move Cgit Service documentation to the Version Control section.Leo Famulari2018-03-23
| | | | | * doc/guix.texi (Miscellaneous Services): Move the Cgit Service to section Version Control Services.
* gexp: 'program-file' has a new #:module-path parameter.Ludovic Courtès2018-03-23
| | | | | | | | * guix/gexp.scm (<program-file>): Add 'path' field. (program-file): Add #:module-path parameter and honor it. (program-file-compiler): Honor the 'path' field. * tests/gexp.scm ("program-file #:module-path"): New test. * doc/guix.texi (G-Expressions): Update.
* gexp: 'gexp->script' and 'gexp->file' have a new #:module-path parameter.Ludovic Courtès2018-03-23
| | | | | | | | * guix/gexp.scm (load-path-expression): Add 'path' optional parameter. (gexp->script): Add #:module-path and honor it. (gexp->file): Likewise. * tests/gexp.scm ("gexp->script #:module-path"): New test. * doc/guix.texi (G-Expressions): Update accordingly.
* doc: Add index entries for realtime and jackd in the manual.Maxim Cournoyer2018-03-22
| | | | | | | | * doc/guix.texi (Base Services): Add realtime and jackd indices to the `pam-limits-service' service, as the examples shows how they can be configured. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Correct name and Email for ng0.ng02018-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .mailmap: Correct name and Email for ng0. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
* gnu: mcron: Update to 1.1 and deprecate "mcron2".Ludovic Courtès2018-03-19
| | | | | | | | | | * gnu/packages/guile.scm (mcron): Update to 1.1. [native-inputs]: Add TZDATA-FOR-TESTS. [arguments]: New field. (mcron2): Define using 'deprecated-package'. * gnu/services/mcron.scm: Replace 'mcron2' with 'mcron'. * doc/guix.texi (Scheduled Job Execution): Likewise. * gnu/tests/base.scm (%mcron-os): Remove comment about mcron2.
* services: openssh: Add 'accepted-environment' field.Martin Castillo2018-03-18
| | | | | | | | * gnu/services/ssh.scm (<openssh-configuration>)[accepted-environment]: New field. (openssh-config-file): Honor 'acccepted-environment'. * doc/guix.texi (Networking Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix system: Add '--skip-checks'.Ludovic Courtès2018-03-15
| | | | | | | | | | | Fixes <https://bugs.gnu.org/30760>. Reported by Tomáš Čech <sleep_walker@gnu.org>. * guix/scripts/system.scm (perform-action): Add #:skip-safety-checks? and honor it. (show-help, %options): Add --skip-checks. (process-action): Pass #:skip-safety-checks? to 'perform-action'. * doc/guix.texi (Invoking guix system): Document --skip-checks.
* doc: Explain what we mean by root in binary installation.Julien Lepiller2018-03-08
| | | | * doc/guix.texi (Binary Installation): Add explicit instructions to become root.
* doc: Adjust 'xset -fp' command to avoid symlinks.Ludovic Courtès2018-03-05
| | | | | | | Fixes <https://bugs.gnu.org/30655>. Reported by Marco van Hulten <marco@hulten.org>. * doc/guix.texi (Application Setup): Adjust 'xset +fp' example.
* services: Add openntpd service.Efraim Flashner2018-03-05
| | | | | | | | | | * gnu/packages/ntp.scm (openntpd)[arguments]: Add 'configure-flags to set openntpd daemon's user and localstatedir. Add a custom phase to not try to create said directory at install time. * gnu/services/networking.scm (<openntpd-configuration>): New record type. (openntpd-shepherd-service, openntpd-service-activation): New procedures. (openntpd-service-type): New variable. * doc/guix.texi (Networking Services): Add openntpd documentation.
* services: messaging: Prosody config supports file-like objects.Clément Lassieur2018-03-03
| | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/configuration.scm (serialize-configuration, serialize-maybe-stem, serialize-package): Return strings or string-valued gexps (these procedures were only used for their side-effects). * gnu/services/messaging.scm (serialize-field, serialize-field-list, enclose-quotes, serialize-raw-content, serialize-ssl-configuration, serialize-virtualhost-configuration-list, serialize-int-component-configuration-list, serialize-ext-component-configuration-list, serialize-virtualhost-configuration, serialize-int-component-configuration, serialize-ext-component-configuration, serialize-prosody-configuration): Return strings or string-valued gexps and stop printing. (prosody-activation): Use SERIALIZE-PROSODY-CONFIGURATION's return value with MIXED-TEXT-FILE instead of using its output with PLAIN-FILE. (serialize-non-negative-integer, serialize-non-negative-integer-list): Convert numbers to strings. (file-object?, serialize-file-object, file-object-list?, serialize-file-object-list): New procedures. (ssl-configuration)[capath, cafile], (prosody-configuration)[plugin-paths, groups-file]: Replace FILE-NAME with FILE-OBJECT. * guix/gexp.scm (file-like?): New exported procedure.