Commit Graph

1385 Commits

Author SHA1 Message Date
Ludovic Courtès b06a70e05d
graph: Add "module" node type.
* 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.
2018-03-27 14:51:44 +02:00
Tobias Geerinckx-Rice 11e01891e3
doc: Fix typo.
* doc/guix.texi (Web Services): Fix ‘wether’ typo.
2018-03-25 00:36:30 +01:00
Chris Marusich a335f6fcc9
system: Add "guix system docker-image" command.
* 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.
2018-03-24 03:04:11 +01:00
Chris Marusich 272c070962
tests: Add tests for "guix pack".
* 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.
2018-03-24 03:04:07 +01:00
Leo Famulari 03e1cca2ab
doc: Move Cgit Service documentation to the Version Control section.
* doc/guix.texi (Miscellaneous Services): Move the Cgit Service to
section Version Control Services.
2018-03-23 15:19:53 -04:00
Ludovic Courtès 427ec19e88
gexp: 'program-file' has a new #:module-path parameter.
* 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.
2018-03-23 18:41:07 +01:00
Ludovic Courtès 1ae16033f3
gexp: 'gexp->script' and 'gexp->file' have a new #:module-path parameter.
* 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.
2018-03-23 18:41:07 +01:00
Maxim Cournoyer b75e1df663
doc: Add index entries for realtime and jackd in the manual.
* 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>
2018-03-22 11:48:03 +01:00
ng0 4a78fd4617
Correct name and Email for ng0.
* .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>
2018-03-20 17:17:58 +01:00
Ludovic Courtès cfbf6de18c
gnu: mcron: Update to 1.1 and deprecate "mcron2".
* 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.
2018-03-19 23:19:49 +01:00
Martin Castillo 985934cb21
services: openssh: Add 'accepted-environment' field.
* 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>
2018-03-18 00:02:05 +01:00
Ludovic Courtès 61b1dbbdcd
guix system: Add '--skip-checks'.
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.
2018-03-15 10:28:22 +01:00
Julien Lepiller 1f3921e143
doc: Explain what we mean by root in binary installation.
* doc/guix.texi (Binary Installation): Add explicit instructions to become root.
2018-03-08 22:03:19 +01:00
Ludovic Courtès ca041ec1a3
doc: Adjust 'xset -fp' command to avoid symlinks.
Fixes <https://bugs.gnu.org/30655>.
Reported by Marco van Hulten <marco@hulten.org>.

* doc/guix.texi (Application Setup): Adjust 'xset +fp' example.
2018-03-05 10:41:18 +01:00
Efraim Flashner 16718b6776
services: Add openntpd service.
* 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.
2018-03-05 08:46:28 +02:00
Clément Lassieur bdcf0e6fd4
services: messaging: Prosody config supports file-like objects.
* 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.
2018-03-03 18:21:52 +01:00
Ludovic Courtès eac026e5c8
linux-initrd: Add virtio modules to '%base-initrd-modules'.
Fixes a regression in installation tests, whereby 'guix system init'
would report that virtio modules are missing for the target devices.
In practice virtio modules were always available since 'base-initrd' was
always called with #:virtio? #t.  This commit simply moves them to
'%base-initrd-modules' so that 'guix system' knows they're available.

Reported by Danny Milosavljevic <dannym@scratchpost.org> at
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30629#112>.

* gnu/system/linux-initrd.scm (default-initrd-modules): Add virtio
modules.
(base-initrd): Remove #:virtio? and 'virtio-modules'.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)
(system-qemu-image, virtualized-operating-system): Remove uses of
 #:virtio?.
* doc/guix.texi (Initial RAM Disk): Update 'base-initrd' doc.
2018-03-03 09:41:21 +01:00
Ludovic Courtès bc499b113a
system: Add 'initrd-modules' field.
* gnu/system.scm (<operating-system>)[initrd-modules]: New field.
(operating-system-initrd-file): Pass #:linux-modules to 'make-initrd'.
* gnu/system/linux-initrd.scm (default-initrd-modules): New procedure.
(%base-initrd-modules): New macro.
(base-initrd): Add #:linux-modules and honor it.
* gnu/system/install.scm (embedded-installation-os): Use
'initrd-modules' instead of 'initrd'.
* gnu/tests/install.scm (%raid-root-os): Likewise.
* doc/guix.texi (operating-system Reference): Add 'initrd-modules'.
(Initial RAM Disk): Document it.  Adjust example to not use
 #:extra-modules.
2018-03-02 13:53:10 +01:00
Mike Gerwitz e37944d827
environment: Add --user.
This change allows overriding the home directory of all filesystem mappings to
help hide the identity of the calling user in a container.

* doc/guix.texi (Invoking guix environment)[--container]: Mention --user.
[--user]: Add item.
* guix/scripts/environment.scm (show-help): Add --user.
(%options): Add --user.
(launch-environment/container) Add 'user' parameter.  Update doc.  Override
'user-mappings' using 'override-user-mappings'.  Consider override for chdir.
(mock-passwd, user-override-home, overrid-euser-dir): New procedures.
(guix-environment): Disallow --user without --container.  Provide user to
'launch-environment/container'.
* tests/guix-environment.sh: Add user test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-03-02 11:55:43 +01:00
Mike Gerwitz 07ec349229
environment: Add --link-profile.
This change is motivated by attempts to run programs (like GNU IceCat) within
containers.  The 'fontconfig' program, for example, is configured explicitly
to check ~/.guix-profile for additional fonts.

There were no existing container tests in 'tests/guix-environment.sh', but I
added one anyway for this change.

* doc/guix.texi (Invoking guix environment): Add '--link-profile'.
* guix/scripts/environment.scm (show-help): Add '--link-profile'.
(%options): Add 'link-profile' as '#\P', assigned to 'link-profile?'.
(link-environment): New procedure.
(launch-environment/container): Use it when 'link-profile?'.
[link-profile?]: New parameter.
(guix-environment): Leave when '--link-prof' but not '--container'.  Add
'#:link-profile?' argument to 'launch-environment/container' application.
* tests/guix-environment-container.sh: New '--link-profile' test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-03-02 11:55:42 +01:00
Oleg Pykhalov e1cf4fd2d2
services: cgit: Add more configuration fields.
* gnu/services/version-control.scm (cgit-service-type): Move to separate file.
* gnu/services/cgit.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add this.
* gnu/tests/version-control.scm: Add this.
* doc/guix.texi (Cgit Service): Document this.
2018-02-28 04:40:56 +03:00
Ludovic Courtès 1d84d7bf60
build: Require Guile >= 2.0.13.
* README, configure.ac, doc/guix.texi (Requirements): Increase minimum
Guile version from 2.0.9 to 2.0.13.
* config-daemon.ac: Remove use of 'GUIX_CHECK_UNBUFFERED_CBIP'.
* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): Remove.
* guix/build/download.scm (current-http-proxy): Remove.
* guix/build/syscalls.scm (%libc-errno-pointer, errno): Remove.
(syscall->procedure): Use #:return-errno unconditionally.
* guix/hash.scm (open-sha256-input-port)[unbuffered]: Remove outdated
comment.
* guix/http-client.scm (when-guile<=2.0.5-or-otherwise-broken): Remove.
<top level>: Remove 'when-guile<=2.0.5-or-otherwise-broken' block.
* guix/scripts/substitute.scm (fetch): Remove 'guile-version>?'
conditional.
* tests/hash.scm (supports-unbuffered-cbip?): Remove.
<top level>: Remove 'test-skip' call.
2018-02-26 18:19:34 +01:00
Clément Lassieur fece75fe35
services: certbot: Allow to set a deploy hook.
* doc/guix.texi (Certificate Services): Document it.
* gnu/services/certbot.scm (<certificate-configuration>, certbot-command): Add
it.
2018-02-22 21:43:54 +01:00
Clément Lassieur a2cb2bbc0b
services: certbot: Allow to set RSA key size.
* doc/guix.texi (Certificate Services): Document it.
* gnu/services/certbot.scm (<cerbot-configuration>, certbot-command,
certbot-activation, certbot-nginx-server-configurations): Add it.
2018-02-22 21:43:54 +01:00
Clément Lassieur 0420a293cc
doc: Fix typo in certbot-configuration description.
* doc/guix.texi (Certificate Services): Fix typo.
2018-02-22 21:43:54 +01:00
Clément Lassieur c3215d2f9d
services: certbot: Associate one certificate with several domains.
* doc/guix.texi (Certificate Services): Document <certificate-configuration>,
the change from domains to certificates and the fact that their path is now
derived from their name.
* gnu/services/certbot.scm (<certificate-configuration>): Add and export it.
(certbot-configuration, certbot-command, certbot-activation,
certbot-nginx-server-configurations, certbot-service-type): Replace 'domains'
with 'certificates'.
(certbot-nginx-server-configurations): Use only one nginx-server-configuration
and use all certificate domains as the server-name.
2018-02-22 21:43:53 +01:00
Clément Lassieur 65fc1d890d
services: certbot: Get certbot to run non-interactively.
* doc/guix.texi (Certificate Services): Add email field and link to the ACME
Subscriber Agreement.
* gnu/services/certbot.scm (<certbot-configuration>, certbot-command,
certbot-activation, certbot-nginx-server-configurations): Add email field.
(certbot-command): Add '-n' and '--agree-tos' options.
(certbot-service-type): Remove default-value.
2018-02-22 21:43:53 +01:00
Clément Lassieur 966fd7b7e9
services: certbot: Rename 'host' to 'domain'.
* doc/guix.texi (Certificate Services): Rename 'host' to 'domain'.
* gnu/services/certbot.scm (<certbot-configuration>, certbot-renewal-jobs,
certbot-activation, certbot-nginx-server-configurations,
certbot-service-type): Rename 'host' to 'domain'.
2018-02-22 21:43:53 +01:00
Clément Lassieur 7ab04c17c0
services: certbot: Run certbot twice a day at a random minute.
* doc/guix.texi (Certificate Services): Document it.
* gnu/services/certbot.scm (certbot-renewal-jobs): Change job's time
specification.
2018-02-22 21:43:52 +01:00
David Thompson 267379f852
environment: Add --manifest option.
* guix/scripts/environment.scm (show-help, %options): Add -m/--manifest.
(options/resolve-packages): Handle manifests.
* tests/guix-envronment.sh: Add a test.
* doc/guix.texi (Invoking guix environment): Document it.
2018-02-21 22:16:38 -05:00
Danny Milosavljevic 736e45a278
services: slim: Make the logged-in session show up in "w".
* gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11
session.
* doc/guix.texi (slim-configuration): Document new field "sessreg".
2018-02-20 21:15:54 +01:00
Konrad Hinsen 4a979afe1b
pack: Add '--manifest'.
* guix/scripts/pack.scm (%options, show-help): Add --manifest.
(guix-pack)[manifest-from-args]: New procedure.
Use it.
* doc/guix.texi (Invoking guix pack): Document --manifest.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-02-15 15:40:36 +01:00
Danny Milosavljevic 5a9902c8ac
services: agetty: Add agetty instance to base services. Make its tty optional.
* gnu/services/base.scm (%base-services): Instantiate agetty-service.
(default-serial-port): New variable.
(agetty-shepherd-service): Make tty optional, default to the above.
* doc/guix.texi (agetty-configuration): Update "tty" documentation.
* gnu/system/install.scm (agetty-default-service): Delete variable.
(embedded-installation-os): Remove agetty-default-service instance.
Add "console" kernel-argument.
2018-02-15 12:05:21 +01:00
Julien Lepiller 08da664d10
gnu: Add cat-avatar-generator-service.
* gnu/services/web.scm (cat-avatar-generator-service): New variable.
* doc/guix.text (Web Services): Document it.
2018-02-14 23:18:41 +01:00
Rutger Helling 75538328c2
doc: Mention starting GNOME on Wayland manually.
* doc/guix.texi (Desktop Services): Mention starting GNOME on Wayland manually.
2018-02-14 08:49:28 +01:00
Arun Isaac a76acfd3f5
gnu: services: Add wesnothd service.
* gnu/services/games.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Game Services): Document the service.
2018-02-09 14:55:17 +05:30
Ricardo Wurmus b617a9fe23
etc: Add SELinux policy for the daemon.
* etc/guix-daemon.cil.in: New file.
* Makefile.am (dist_selinux_policy_DATA): Define it.
* configure.ac: Handle --with-selinux-policy-dir.
* doc/guix.texi (SELinux Support): New section.
2018-02-07 15:41:23 +01:00
Ludovic Courtès a5e03674d1
doc: Document the 'upstream-name' property.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* doc/guix.texi (Invoking guix refresh): Document 'upstream-name'.
2018-02-05 16:54:27 +01:00
Tobias Geerinckx-Rice d16948bf30
doc: guix-publish-configuration-ttl is in seconds.
* doc/guix.texi (Base Services): Document that
guix-publish-configuration-ttl takes its value in seconds.
2018-02-04 19:22:34 +01:00
Ricardo Wurmus 6f4e8693e7
etc: Add installation script.
* etc/guix-install.sh: New file.
* Makefile.am (EXTRA_DIST): Add it.
* doc/guix.texi (Binary Installation): Mention it.

Co-authored-by: sharlatan <sharlatanus@gmail.com>
2018-01-30 03:48:04 +01:00
Tobias Geerinckx-Rice 01bd3b5edd
doc: Unconfuse file systems and partitions.
Partitions can have their own labels and UUIDs (e.g. under GPT) that are
unrelated to those of the contained file system.  Confusing the two ends
poorly.

* doc/guix.scm (File Systems, Proceeding with the Installation)
(Using the Configuration System, Initial RAM Disk): Substitute `file
system' for `partition' when talking about labels and UUIDs.
2018-01-29 23:27:53 +01:00
Tobias Geerinckx-Rice d64e1746b9
doc, gnu: Fix spelling of screen-things.
* doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in
prose.
* gnu/services/xorg.scm (screen-locker-service): Likewise.
2018-01-29 23:27:53 +01:00
Tobias Geerinckx-Rice 5481887dde
doc: Fix SCREEN-LOCKER-SERVICE description.
* doc/guix.texi (X Window): Correct the documentation for the
SCREEN-LOCKER-SERVICE procedure.
2018-01-29 23:27:52 +01:00
Tobias Geerinckx-Rice 0c3deaccef
doc: Replace a stale reference to a code snippet.
The text refers to a snippet which has since been removed, but a
suitable replacement is near.  Use it.

* doc/guix.texi (Using the Configuration System): Substitute bind for
tcpdump.
2018-01-29 23:27:52 +01:00
Diego Nicola Barbato d2a7170def
doc: Mention escpr in CUPS configuration example.
Suggested by Danny Milosavljevic <dannym@scratchpost.org>.

* doc/guix.texi (Printing Services): Mention how to add support for
Epson printers to CUPS via escpr in the configuration example.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-01-28 23:54:00 +01:00
Tobias Geerinckx-Rice 782c94fe30
doc: Improve ‘fix-runpath’ description.
* doc/guix.texi (Build Systems): Re-write ‘fix-runpath’ documentation
entirely.  Just fixing the typos didn't do much.
2018-01-21 02:50:16 +01:00
Ludovic Courtès d466b1fc82
services: Missing services are automatically instantiated.
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
<https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html>.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
2018-01-21 00:24:03 +01:00
Tobias Geerinckx-Rice 162a137400
gnu: Consistently Write ‘file system(s)’.
It is the GNU way.

* doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’.
* gnu/build/vm.scm (create-ext-file-system, create-fat-file-system):
Likewise.
* gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise.
* gnu/packages/check.scm (python-testpath)[description]: Likewise.
* gnu/packages/disk.scm (pydf)[description]: Likewise.
* gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise.
(glusterfs)[description]: Likewise.
* gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap)
(ghc-system-fileio)[synopsis]: Likewise.
(ghc-fsnotify)[description]: Likewise.
* gnu/packages/linux.scm (proot)[description]: Likewise.
(jmtpfs)[synopsis, description]: Likewise.
* gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise.
* gnu/packages/storage.scm (ceph)[description]: Likewise.
* gnu/packages/sync.scm (lsyncd)[description]: Likewise.
* gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise.
(go-github-com-zillode-notify)[description]: Likewise.
* gnu/services/nfs.scm (pipefs-service-type): Likewise.
* guix/scripts/system.scm (perform-action): Likewise.
2018-01-19 17:28:31 +01:00
Danny Milosavljevic ba4919122a
docs: Fix typo in qemu-binfmt example.
* doc/guix.texi (Virtualization Services): Document 'guix-support?' properly.
2018-01-17 16:09:59 +01:00
Christopher Baines d067e4badc
gnu: services: web: Add service for httpd.
* gnu/services/web.scm (<httpd-module>,
  <httpd-config-file>, <httpd-virtualhost>
  <httpd-configuration>): New record types.
  (%default-httpd-modules, %httpd-accounts,
  httpd-service-type): New variables.
  (httpd-shepherd-services, httpd-activation,
  httpd-process-extensions): New procedures.
* gnu/tests/web.scm (run-httpd-test): New procedure.
  (%httpd-os, %tests-httpd): New variables.
* doc/guix.texi (Web Services): Document the Apache HTTP Server.
2018-01-17 08:43:47 +00:00
Ludovic Courtès 6628921a9a
doc: Fix typo.
Reported by Nicolas Goaziou.

* doc/guix.texi (Invoking guix archive): Fix typo.
2018-01-16 16:00:21 +01:00
Ludovic Courtès 37af37dcc9
doc: Deprecate 'bitlbee-service' procedure.
* gnu/services/messaging.scm (bitlbee-service): Mark as deprecated.
* doc/guix.texi (Messaging Services): Document 'bitlbee-service-type'
and 'bitlbee-configuration'.  Remove 'bitlbee-service'.
2018-01-15 23:29:33 +01:00
Ludovic Courtès f2bee4210f
services: bitlbee: Move to (gnu services messaging).
* gnu/services/networking.scm (<bitlbee-configuration>)
(bitlbee-shepherd-service, %bitlbee-accounts, %bitlbee-activation)
(bitlbee-service-type, bitlbee-service): Move to...
* gnu/services/messaging.scm: ... here.
* doc/guix.texi (Networking Services): Move 'bitlbee-service' doc to...
(Messaging Services): ... here.
2018-01-15 23:29:33 +01:00
Ludovic Courtès 9d4399b805
doc: Connect "guix archive", "guix pack", and co.
* doc/guix.texi (Invoking guix pack): Add xrefs to "guix publish", "guix
copy", and "guix archive".
(Invoking guix archive): Add xref to "guix pack".
2018-01-15 23:29:33 +01:00
Andreas Enge 7baf6615e9
doc: Correct documentation of NGINX-LOCATION-CONFIGURATION.
* doc/guix.texi (Web Services): The body of an NGINX-LOCATION-CONFIGURATION
is a list of strings and not a string.
2018-01-14 16:24:00 +01:00
Ludovic Courtès 71b98b9de9
services: qemu-binfmt: Extend guix-daemon with extra chroot directories.
Fixes <https://bugs.gnu.org/20239>.

* gnu/services/virtualization.scm (<qemu-binfmt-configuration>)[guix-support?]:
New field.
(qemu-binfmt-guix-chroot): New procedure.
(qemu-binfmt-service-type)[extensions]: Add GUIX-SERVICE-TYPE.
* doc/guix.texi (Virtualization Services): Document 'guix-support?'.
(Additional Build Options): Mention binfmt_misc and offloading under
'--system'.
2018-01-11 14:42:31 +01:00
Ludovic Courtès 6738c29fbf
services: Add qemu-binfmt.
* gnu/services/virtualization.scm (<qemu-platform>): New record type.
(bv): New macro.
(%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus)
(%ppc, %ppc64, %ppc64le, %m68k, %mips, %mipsel, %mipsn32el)
(%mips64, %mips64el, %sh4, %sh4eb, %s390x, %aarch64, %hppa)
(%qemu-platforms): New variables.
(lookup-qemu-platforms): New procedure.
(<qemu-binfmt-configuration>): New record type.
(qemu-platform->binfmt): New procedures.
(%binfmt-mount-point, %binfmt-register-file, %binfmt-file-system)
(qemu-binfmt-service-type): New variables.
(qemu-binfmt-shepherd-services): New procedures.
* doc/guix.texi (Virtualization Services): Add "Transparent Emulation
with QEMU" heading.

binfmt fixlet
2018-01-11 14:29:49 +01:00
Ludovic Courtès 158eadefc8
doc: Fix typo in 'guix environment' example.
* doc/guix.texi (Invoking guix environment): Add missing @ in example.
2018-01-11 00:00:03 +01:00
宋文武 693b52df68
gnu: services: Add darkstat service.
* gnu/services/monitoring.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Monitoring Services): Document it.
2018-01-08 20:43:35 +08:00
Ludovic Courtès f4596f7630
services: guix: Add 'log-compression' option.
* gnu/services/base.scm (<guix-configuration>)[log-compression]: New
field.
(guix-shepherd-service): Use 'match-record' instead of 'match'.  Honor
'log-compression'.
* doc/guix.texi (Base Services): Document 'log-compression'.
2018-01-08 10:40:17 +01:00
Ludovic Courtès c04ffadbed
publish: Publish build logs.
* guix/scripts/publish.scm (render-log-file): New procedure.
(make-request-handler): Add "log" case.
* tests/publish.scm ("/log/NAME")
("/log/NAME not found"): New tests.
* doc/guix.texi (Invoking guix publish): Document /log URLs.
2018-01-07 23:51:46 +01:00
Ludovic Courtès 06e3a5181e
doc: Mark zlib as mandatory, libbz2 as optional.
* doc/guix.texi (Requirements): Move zlib to mandatory and libbz2 to
optional.
* README: Ditto.
2018-01-07 23:47:22 +01:00
Ludovic Courtès 29a6866886
daemon: Add gzip log compression.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LOG_COMPRESSION): New macro.
(options): Mark "disable-log-compression" as hidden and add
"log-compression".
(parse_opt): Handle GUIX_OPT_LOG_COMPRESSION.
* nix/libstore/build.cc (DerivationGoal): Add 'gzLogFile'.
(openLogFile): Initialize it when 'logCompression' is COMPRESSION_GZIP.
(closeLogFile, handleChildOutput): Honor 'gzLogFile'.
* nix/libstore/globals.hh (Settings)[compressLog]: Remove.
[logCompression]: New field.
(CompressionType): New enum.
* nix/libstore/globals.cc (Settings::Settings): Initialize it.
(update): Remove '_get' call for 'compressLog'.
* nix/local.mk (guix_daemon_LDADD, guix_register_LDADD): Add -lz.
* guix/store.scm (log-file): Handle '.gz' log files.
* tests/guix-daemon.sh: Add test with '--log-compression=gzip'.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
* config-daemon.ac: Check for libz and zlib.h.
2018-01-07 23:47:22 +01:00
Rutger Helling 3853f86fdf
doc: Describe Wayland status.
* doc/guix.texi (Desktop Services): Add a paragraph about the current status of
Wayland in Guix.
2018-01-06 18:15:05 +01:00
Mark H Weaver 1c27f72fc2
doc: Fix typo.
* doc/guix.texi (Desktop Services): "orMATE" --> "or MATE".
2017-12-30 21:05:09 -05:00
ng0 431703ffd0
gnu: services: Add MATE desktop service.
* gnu/services/desktop.scm (<mate-desktop-configuration>,
mate-desktop-service-type): New variable.
(mate-desktop-service): New public variable.

* doc/guix.texi (Desktop Services): Document the service.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-12-30 22:55:26 +01:00
Marius Bakke db8ed7cee8
services: networking: Add a dependency override mechanism to <static-networking>.
* gnu/services/networking.scm (<static-networking>)[requirement]: New field.
(static-networking-shepherd-service): Don't override requirement for loopback.
(static-networking-service): Expose 'requirement' parameter.  Default to UDEV.
* gnu/services/base.scm (%base-services): Add (requirement '()) for loopback service.
* doc/guix.texi (Networking Services): Document it.
2017-12-29 14:06:26 +01:00
Tobias Geerinckx-Rice d2c3be991c
doc: Fix typo.
* doc/guix.texi (Application Setup): Transpose words.
2017-12-26 14:41:01 +01:00
Tobias Geerinckx-Rice e9960d8cba
gnu, doc: Use HTTPS for cran.r-project.org home pages.
* gnu/packages/bioinformatics.scm (r-sparql, r-acsnminer, r-gkmsvm)
(r-maldiquant, r-gprofiler)[home-page]: Use HTTPS.
* gnu/packages/cran.scm (r-colorspace, r-auc, r-calibrate, r-shape)
(r-compare, r-proxy, r-sp, r-rmtstat, r-lmtest, r-inline, r-bbmle)
(r-lpsolve, r-energy, r-suppdists, r-ksamples, r-cvst, r-drr, r-prodlim)
(r-ddalpha, r-rcpproll, r-ipred, r-psych, r-truncnorm, r-rsolnp, r-laeken)
(r-vcd, r-ica, r-scatterplot3d)[home-page]: Likewise.
* gnu/packages/machine-learning.scm (r-adaptivesparsity, r-kernlab)
[home-page]: Likewise.
* gnu/packages/maths.scm (r-quadprog, r-pracma)[home-page]: Likewise.
* gnu/packages/statistics.scm (r-boot, r-cluster, r-codetools, r-foreign)
(r-kernsmooth, r-nlme, r-mgcv, r-rpart, r-dichromat, r-estimability)
(r-pheatmap, r-labeling, r-magrittr, r-munsell, r-rcolorbrewer, r-sendmailr)
(r-gdtools, r-acepack, r-formula, r-locfit, r-chron, r-coda, r-backports)
(r-brew, r-commonmark, r-rstudioapi, r-plotrix, r-gridbase, r-bitops)
(r-catools, r-xnomial, r-lambda-r, r-whoreadsthis, r-futile-options)
(r-futile-logger, r-segmented, r-snow, r-iterators, r-foreach, r-doparallel)
(r-domc, r-irlba, r-registry, r-e1071, r-bigmemory-sri, r-r-methodss3)
(r-tidyselect, r-base64, r-runit, r-sfsmisc, r-gtools, r-gdata, r-gplots)
(r-ztable, r-vipor, r-sourcetools, r-statmod, r-compquadform, r-mixtools)
(r-fastica, r-diptest, r-modeltools, r-flexmix, r-deoptimr, r-pcapp)
(r-rrcov, r-fit-models, r-robust, r-trimcluster, r-fpc, r-fnn)
(r-modelmetrics, r-nloptr, r-lme4, r-tclust, r-lubridate)[home-page]:
Likewise.
* gnu/packages/web.scm (r-htmltools, r-hwriter, r-rjson, r-rook)[home-page]:
Likewise.
* doc/guix.texi (Invoking guix import, Invoking guix refresh): Likewise.
2017-12-24 16:12:13 +01:00
Tobias Geerinckx-Rice 7459cb9305
services: messaging: Use HTTPS for prosody.im URLs.
* gnu/services/messaging.scm (prosody-configuration): Use HTTPS whenever
referring to prosody.im URLs in documentation.
* doc/guix.texi (Messaging Services): Likewise.
2017-12-24 16:12:12 +01:00
Tobias Geerinckx-Rice 90d8923bf9
doc: Properly escape brackets.
This fixes a build failure reported by Catonano <catonano@gmail.com>.

* doc/guix.texi (Mail Services): Escape ‘{’ and ‘}’ everywhere.
2017-12-23 15:40:43 +01:00
Tobias Geerinckx-Rice 28c03b4555
gnu: dovecot: Update to 2.3.0.
* gnu/packages/mail.scm (dovecot): Update to 2.3.0.
* gnu/services/mail.scm (dovecot-configuration)[director-doveadm-port]
[ssl-parameters-regenerate]: Delete fields.
[ssl-protocols]: Rename to...
[ssl-min-protocol]: ...this.
[mail-log-prefix, mdbox-rotate-size, ssl-cipher-list, imap-logout-format]:
Update default values.
* doc/guix.texi (Mail Services): Reflect the above changes to the service.
2017-12-23 07:11:14 +01:00
Ludovic Courtès fae7973e1f
doc: Add "/guix" after LOCALSTATEDIR.
Fixes <https://bugs.gnu.org/29813>.
Reported by Martin Castillo <castilma@uni-bremen.de>.

* doc/guix.texi (Invoking guix-daemon, Invoking guix package): Add
missing "/guix" after LOCALSTATEDIR.
2017-12-23 00:05:05 +01:00
Ludovic Courtès 3e30cdf1c3
guix build: Support '--with-source=PACKAGE@VERSION=URI'.
* guix/scripts/build.scm (numeric-extension?, tarball-base-name): New
procedures, formerly in 'package-with-source'.
(transform-package-source)[new-sources]: Look for '=' in URI.  Each
element of the list of now a (PKG VERSION SOURCE) tuple.
Pass VERSION to 'package-with-source'.
(package-with-source): Add 'version' parameter and honor it.
* tests/scripts-build.scm ("options->transformation, with-source, PKG=URI")
("options->transformation, with-source, PKG@VER=URI"): New tests.
* doc/guix.texi (Package Transformation Options): Document the new
forms.
2017-12-23 00:05:05 +01:00
Ludovic Courtès 8faaf8d7cc
services: urandom-seed: Deprecate the 'urandom-seed-service' procedure.
* gnu/services/base.scm (urandom-seed-service-type)[default-value]: New
field.
(urandom-seed-service): Mark as deprecated.
(%base-services): Use URANDOM-SEED-SERVICE-TYPE directly.
* gnu/services/base.scm (%base-services):
* doc/guix.texi (Base Services): Document 'urandom-seed-service-type'
instead of 'urandom-seed-service'.
2017-12-22 08:56:50 +01:00
Ludovic Courtès 8785bd7759
doc: Document fixed-output derivations.
* doc/guix.texi (Derivations): Add paragraph on fixed-output
derivations.
2017-12-22 08:56:50 +01:00
Leo Famulari 9a56cf2b5b
services: urandom-seed: Try using a HWRNG to seed the Linux CRNG at boot.
* gnu/services/base.scm (urandom-seed-shepherd-service): Try to read from
'/dev/hwrng' at boot, as a supplement to any saved random seed.
* doc/guix.texi (Base Services): Document the new feature.
2017-12-19 11:31:24 -05:00
Ludovic Courtès 45f6211730
doc: Clarify treatment of the root account.
* doc/guix.texi (operating-system Reference): Clarify the situation of
UID 0.
2017-12-18 23:17:30 +01:00
Clément Lassieur b05e8ee120
services: nginx: Allow to add raw content to the server blocks.
* doc/guix.texi (Web Services): Document 'raw-content'.
* gnu/services/web.scm (<nginx-server-configuration>)[raw-content]: New field.
(emit-nginx-server-config): Add it.
2017-12-18 12:03:14 +01:00
Clément Lassieur 8b223ceac4
services: nginx: Replace 'http-port' and 'https-port' with 'listen'.
* doc/guix.texi (Web Services, Version Control Services): Update accordingly.
* gnu/services/certbot.scm (certbot-nginx-server-configurations): Likewise.
* gnu/services/version-control.scm (%cgit-configuration-nginx): Likewise.
* gnu/services/web.scm (<nginx-server-configuration>,
emit-nginx-server-config): Likewise.
* gnu/tests/version-control.scm (%cgit-configuration-nginx,
%git-nginx-configuration): Likewise.
* gnu/tests/web.scm (%nginx-servers, %php-fpm-nginx-server-blocks): Likewise.
2017-12-18 12:03:14 +01:00
Martin Castillo 5a5d1a7f47
doc: Fix typo.
* doc/guix.texi: remove double occurence of generations.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-12-18 11:12:45 +01:00
Ricardo Wurmus dafc3dafea
guix: offload: Add "status" sub-command.
* guix/scripts/offload.scm (check-machine-status): New procedure.
(guix-offload): Call it when the argument is "status".
* doc/guix.texi (Daemon Offload Setup): Document it.
2017-12-16 21:51:33 +01:00
Mathieu Othacehe 5a72ddf176
scripts: system: Add --expression option.
* guix/scripts/system.scm (show-help): Add expression option.
(%options): Ditto.
(guix-system): Allow commands taking a file as an argument to use an
expression instead.
(process-action): Read operating-system from expression or file.
* doc/guix.texi (Invoking guix system): Introduce the expression option.
2017-12-15 12:15:15 +01:00
Oleg Pykhalov dfb403b053
doc: Fix typo.
* doc/guix.texi (DNS Services): Fix knot-configuration.
2017-12-15 12:47:28 +03:00
Tobias Geerinckx-Rice 27c50d87f5
doc: Fix typo.
* doc/guix.texi: Add missing ‘@*’ to copyright headers.
2017-12-12 22:35:37 +01:00
nee 64bae7237c
gnu: services: Add php-fpm.
* gnu/services/web.scm (<php-fpm-configuration>,
  <php-fpm-process-manager-configuration>): New record types.
  (php-fpm-configuration?,
   php-fpm-process-manager-configuration?,
   php-fpm-service-type,
   nginx-php-location): New procedures.
* doc/guix.texi (Web-Services): Document php-fpm service.
* gnu/tests/web.scm: Add php-fpm system test.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-12-12 21:29:39 +00:00
Christopher Baines 2881f85220
services: web: Add support for configuring the nginx server names hash.
The nginx service can fail to start if the server names hash bucket size is
too small, which can happen on some systems, and when using QEMU, depending on
the CPU.

* gnu/services/web.scm (<nginx-configuration>): Add
  server-names-hash-bucket-size and server-names-hash-bucket-max-size.
  (default-nginx-config): Add support for the new hash bucket size parameters.
  (nginx-service, nginx-activation): Pass the new hash bucket size parameters
  through to the default-nginx-config procedure.
* doc/guix.texi (Web Services): Document the new hash bucket size parameters.
2017-12-11 20:57:34 +00:00
Christopher Baines c48aa70a9a
services: web: Remove default certificate and key files for nginx.
If nginx is configured with a ssl-certificate file, and ssl-certificate-key,
it will fail to start unless these exist. To avoid this happening, change the
default to #f.

* gnu/services/web.scm (<nginx-server-configuration>)
  [ssl-certificate,ssl-certificate-key]: Set the defaults to #f.
* gnu/tests/web.scm (%nginx-servers): Remove redundant
  nginx-server-configuration fields.
* doc/guix.texi (Web Services): Update examples and documentation.
2017-12-11 20:36:43 +00:00
Tobias Geerinckx-Rice 08c597d7e0
doc: Fix typo.
* doc/guix.texi (Package Management): Fix typo.
2017-12-08 23:24:07 +01:00
Tobias Geerinckx-Rice ecb28e6440
doc: Update metacpan.org API endpoint.
* doc/guix.texi (Invoking guix import): Match the URI actually used by the
updater.
2017-12-07 02:57:28 +01:00
Tobias Geerinckx-Rice fdfdecdb7e
gnu, doc, tests: Use ‘bootloader-configuration’ everywhere.
* doc/guix.texi (Proceeding with the Installation): Replace the old-style
‘grub-configuration’ with the newer ‘bootloader-configuration’ syntax.
* gnu/system/examples/vm-image.tmpl: Likewise.
* gnu/system/install.scm (installation-os): Likewise.
* gnu/tests.scm (%simple-os): Likewise.
* gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda, %separate-home-os)
(%separate-store-os, %raid-root-os, %encrypted-root-os, %btrfs-root-os):
Likewise.
* gnu/tests/nfs.scm (%base-os): Likewise.
* tests/guix-system.scm (OS_BASE, make_user_config): Likewise.
* tests/system.scm (%os, %os-with-mapped-device): Likewise.
2017-12-06 15:02:24 +01:00
Ludovic Courtès 39b27f4eae
doc: Mention berlin.guixsd.org.
* doc/guix.texi (Substitute Server Authorization): Add note about
berlin.guixsd.org.  Nitpick.
2017-12-04 18:14:28 +01:00
Ludovic Courtès 3b6e7c703c
maint: Add the '.iso' extension to installation images.
* Makefile.am (release): Add the '.iso' suffix to image files.
* doc/guix.texi (USB Stick and DVD Installation): Adjust accordingly.
2017-12-04 16:35:43 +01:00
Ludovic Courtès 2626062b25
doc: Merge "USB Stick Installation" and "DVD Installation".
* doc/guix.texi (USB Stick Installation): Rename to...
(USB Stick and DVD Installation): ... this.  Merge contents with...
(DVD Installation): ... this node.  Remove.
2017-12-04 16:35:43 +01:00
Ludovic Courtès 350cb5ba84
doc: Link to work on bootstrapping.
* doc/guix.texi (Reducing the Set of Bootstrap Binaries): New section.
2017-12-03 19:12:16 +01:00
Kei Kebreau 9ce07f2dba
doc: Update the example VCS snapshot package definition.
In commit ee17a9e06e, the helpers git-version
and git-file-name removed the need to build version and file name strings
manually for packages that use VCS snapshots.

doc/guix.texi (Version Numbers): Use git-version and git-file-name.
2017-11-30 12:19:29 -05:00
Arun Isaac 3d0aa7f70b
build-system: Add scons-build-system.
* guix/build-system/scons.scm: New file.
* guix/build/scons-build-system.scm: New file.
* Makefile.am (MODULES): Register them.
* doc/guix.texi (Build Systems): Add scons-build-system.
2017-11-30 18:19:31 +05:30
Ludovic Courtès d65d7759f0
doc: Give the absolute file name of 'hydra.gnu.org.pub' in snippets.
* doc/guix.texi (Substitute Server Authorization): Give the absolute
file name of 'hydra.gnu.org.pub' in the snippet.
2017-11-30 10:34:04 +01:00
Ludovic Courtès a912c723f7
gexp: 'compiled-modules' disables deprecation warnings by default.
This avoids repeated deprecation messages, particularly while running
'guix system build' or similar.

* guix/gexp.scm (gexp->derivation): Add #:deprecation-warnings.  Pass it
to 'compiled-modules'.
(compiled-modules): Add #:deprecation-warnings and honor it.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation'
documentation.
* guix/packages.scm (patch-and-repack): Pass #:deprecation-warnings #t.
2017-11-29 16:44:54 +01:00
Andy Wingo 410349347a
services: Add Git HTTP(S) service support.
* doc/guix.texi (Version Control Services): Add documentation on the HTTP
backend for git.
* gnu/services/version-control.scm (<git-http-configuration>): New data type.
(git-http-nginx-location-configuration): New helper function.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-28 23:34:25 +01:00
Andy Wingo 05f1cb3cda
doc: Create "Version Control Services" section.
* doc/guix.texi (Version Control Services): Move to its own node.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-28 23:34:24 +01:00
Andy Wingo 1115f14017
services: Add certbot service.
* gnu/services/certbot.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
* doc/guix.texi (Certificate Services): New section.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-28 23:34:24 +01:00
Ludovic Courtès 65c0f43649
services: xorg: Remove WindowMaker as a default fallback.
* gnu/services/xorg.scm (xinitrc)[builder](system-profile)
(user-profile): New variables.
(xsession-command, find-session): New procedures.
When FALLBACK-SESSION is #f, find a valid session at run time.
* doc/guix.texi (X Window): Adjust accordingly, and insist that one
or more window managers must be installed.
2017-11-28 11:24:46 +01:00
Ludovic Courtès b37f86d7a3
services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.
* gnu/services/xorg.scm (<slim-configuration>): Provide default values
for all fields.
(slim-service-type)[default-value]: New field.
* doc/guix.texi (X Window): Remove 'slim-service' documentation.
Document 'slim-service-type' and 'slim-configuration'.
* gnu/services/desktop.scm (%desktop-services): Use 'slim-service-type'.
2017-11-28 11:24:45 +01:00
Ludovic Courtès d344f5a528
services: xorg: Allow users to specify a list of modules.
* gnu/services/xorg.scm (%default-xorg-fonts): New variable.
(xorg-configuration-file): Add #:modules and #:fonts.  Rewrite to return
a 'computed-file' that honors MODULES and FONTS.
(xorg-wrapper): Pass #:modules to 'xorg-configuration-file'.
(xorg-start-command): Add #:fonts.  Pass #:fonts and #:modules to
'xorg-configuration-file'.
* doc/guix.texi (X Window): Adjust documentation of 'xorg-start-command'
and 'xorg-configuration-file'.
2017-11-28 10:46:03 +01:00
Clément Lassieur 19ff1f2687
services: configuration: Show default values of list types.
* doc/guix.texi (Messaging Services): Regenerate it.
* gnu/services/configuration.scm (show-default?): Check VAL rather than DEFAULT.
* gnu/services/messaging.scm (show-default?): Check VAL rather than DEFAULT.
(prosody-configuration)[modules-enabled]: Remove default value from docstring.
2017-11-28 03:49:47 +01:00
Clément Lassieur e30038dae1
services: prosody: Add support for disable-sasl-mechanisms.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[disable-sasl-mechanisms]:
New field.
2017-11-26 15:30:57 +01:00
Clément Lassieur 274b9500d1
services: prosody: Allow to add raw content to the config file.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[raw-content]: New field.
(raw-content?, serialize-raw-content): New procedures.
2017-11-26 15:30:57 +01:00
Clément Lassieur 1f6f1a07c8
services: prosody: Add support for http-max-content-size.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[http-max-content-size]:
New field.
2017-11-26 15:30:57 +01:00
Clément Lassieur f59de6bea9
services: prosody: Add support for http-external-url.
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[http-external-url]: New
field.
2017-11-26 15:30:56 +01:00
Clément Lassieur 5cc6dcd734
services: prosody: Adapt to Prosody 0.10.0.
* doc/guix.texi (Messaging Services): Add "mam" as a module example.  Document
'prosodyctl check'.  Replace 'prosodyctl cert request' with 'prosodyctl cert
import'.  Regenerate it.
* gnu/services/messaging.scm (serialize-module-list): Remove "posix" from the
default modules list because it is now automatically loaded.
(ssl-configuration)[key, certificate]: Remove them because they are now
automatically located.  Fix their docstrings.
(%default-modules-enabled): Add "carbons" and "blocklist".
(prosody-configuration)[certificates]: Set default directory from which
certificates/keys will be automatically located.
2017-11-26 15:30:56 +01:00
Tobias Geerinckx-Rice 68b49109a0
doc: Fix typo.
* doc/guix.texi (Bootloader Configuration): Fix ‘choosen’ typo.
2017-11-24 19:05:00 +01:00
Ludovic Courtès be10e4ae4a
doc: Update package count.
* doc/guix.texi (Limitations): Update package count.
2017-11-23 22:38:11 +01:00
Chris Marusich 77f921587c
doc: Split the "Substitutes" section into subsections.
* doc/guix.texi (Substitutes): Move information into sections, and create one
  new subsection regarding substitution failure.
  (Top): In the detailed listing, add entries for the new subsections.
  (Official Substitute Server): Move info about hydra here.  Add information
  that explains when substitutes are enabled by default.
  (Substitute Server Authorization): Move information about how to enable or
  disable substitutes here.
  (Substitute Authentication): Move information about how Guix authenticates
  substitutes here.
  (Proxy Settings): Move information about how to download substitutes via
  proxy here.
  (Substitution Failure): New section.  Add information about how Guix handles
  substitution failure.  Be extra clear about behavior concerning --fallback.
  (On Trusting Binaries): Move information about trusting binaries here.
  (Invoking guix-daemon): Remove an incorrect statement about when substitutes
  are enabled by default.
  (Common Build Options): Add cross-references for the --fallback option.

Co-authored-by: George Clemmer <myglc2@gmail.com>
2017-11-21 20:15:39 -08:00
Ludovic Courtès bd7e136d29
Add semicolon in commands that set GUIX_PROFILE.
Fixes <https://bugs.gnu.org/28223>.
Reported by Rosebud Uplink <Uplink.Introversion@outlook.com>.

* doc/guix.texi (Binary Installation): Add missing semicolon after
'GUIX_PROFILE=' line.
(Invoking guix package): Likewise.
* gnu/system.scm (operating-system-etc-service)[profile]: Likewise.
* guix/build/profiles.scm (build-etc/profile): Likewise.
2017-11-20 18:43:10 +01:00
Marco van Hulten 45eee2dd62
doc: Write "file system" instead of "partition" as appopriate.
* doc/guix.texi (Preparing for Installation): Write "file system" instead
of "partition" as appopriate.
2017-11-17 23:04:52 +01:00
Ludovic Courtès a0fea77dbb
services: guix: Remove dependency on 'lsof'.
This is a followup to b8f59cdc20e9d83ce63523ef917e95fcee07f134:
'list-runtime-roots' no longer depends on 'lsof'.

* gnu/services/base.scm (<guix-configuration>)[lsof]: Remove.
(guix-shepherd-service): Adjust accordingly.
* doc/guix.texi (Base Services): Adjust accordingly.
* gnu/system.scm (%base-packages): Remove LSOF.
2017-11-13 11:36:28 +01:00
Ludovic Courtès 6a98b9f34e
doc: Better explain GC roots.
Fixes <https://bugs.gnu.org/24194>.
Reported by J. Eppler <j.eppler@openmailbox.org>.

* doc/guix.texi (Invoking guix-daemon): Add index entries for GC roots.
Add xref to "Invoking guix gc".
(Invoking guix gc): Add the string "GC roots"; mention /var/guix/gcroots.
(Additional Build Options): Add index entries.  Better explain --root.
(Invoking guix environment): Add xref to "Invoking guix gc".
2017-11-12 22:42:17 +01:00
nee b6d2930d1f
services: Add murmur.
* gnu/services/telephony.scm: New file.
* gnu/local.mk: Add it.
* doc/guix.texi (Telephony Services): New node.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-05 15:21:53 +01:00
Leo Famulari fff236aa03
doc: Fix typo in documentation of 'guix graph'.
* doc/guix.texi (Invoking guix graph): Fix typo.
2017-11-01 17:14:09 -04:00
Leo Famulari 9c43f432eb
doc: Document the installation of Go source code.
* doc/guix.texi (Build Systems): Document '#:install-source?' for the Go
build system.
2017-10-26 12:14:34 -04:00
Ludovic Courtès bf7dfb1f07
challenge: Display an overall summary.
* guix/scripts/challenge.scm (summarize-report-list): New procedure.
(guix-challenge): Use it.
* doc/guix.texi (Invoking guix challenge): Adjust command output in
example.
2017-10-25 22:25:19 -07:00
Ludovic Courtès d298c815e6
gexp: Add 'directory-union'.
* gnu/services.scm (directory-union): Move to...
* guix/gexp.scm (directory-union): ... here.  New procedure.
* doc/guix.texi (G-Expressions): Document it.
2017-10-22 22:09:00 -07:00
Ludovic Courtès dedb512f8f
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.
2017-10-22 22:09:00 -07:00
Maxim Cournoyer 6e644cfdb3
services: base: Add file->udev-rule function.
This function allows passing a file-like object to the udev service.

* gnu/services/base.scm (file->udev-rule): New function.
* doc/guix.texi (Base Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-22 22:09:00 -07:00
Hartmut Goebel ed26b3a807
doc: Clarify description of etc-service-type.
* doc/guix.texi (Service Reference): Update 'etc-service-type'
  documentation.
2017-10-22 12:47:29 +02:00
Tobias Geerinckx-Rice 5713bbf157
Use HTTPS for bioconductor.org.
* doc/guix.texi (Invoking guix import, Invoking guix refresh): Use HTTPS for
bioconductor.org URLs.
* gnu/packages/bioinformatics.scm (r-annotate, r-geneplotter, r-genefilter)
(r-deseq2, r-dexseq, r-annotationforge, r-rbgl, r-gseabase, r-category)
(r-gostats, r-shortread, r-biocgenerics, r-biocinstaller, r-biocviews)
(r-biocstyle, r-bioccheck, r-s4vectors, r-iranges, r-genomeinfodbdata)
(r-genomeinfodb, r-xvector, r-genomicranges, r-biobase, r-annotationdbi)
(r-biomart, r-biocparallel, r-biostrings, r-rsamtools, r-delayedarray)
(r-summarizedexperiment, r-genomicalignments, r-rtracklayer)
(r-genomicfeatures, r-graph, r-topgo, r-bsgenome, r-impute, r-seqpattern)
(r-seqlogo, r-motifrg, r-bamsignals, r-mutationalpatterns, r-tximport)
(r-rhdf5, r-chipseq, r-sva, r-affy, r-vsn, r-mzid, r-msnid)
(r-interactivedisplaybase, r-annotationhub)[home-page]: Likewise.
* gnu/packages/bioinformatics.scm (r-txdb-hsapiens-ucsc-hg19-knowngene)
(r-go-db, r-bsgenome-hsapiens-1000genomes-hs37d5, r-org-hs-eg-db)
(r-org-ce-eg-db, r-org-dm-eg-db, r-org-mm-eg-db)
(r-bsgenome-hsapiens-ucsc-hg19, r-bsgenome-mmusculus-ucsc-mm9)
(r-bsgenome-mmusculus-ucsc-mm10, r-txdb-mmusculus-ucsc-mm10-knowngene)
(r-bsgenome-celegans-ucsc-ce6, r-bsgenome-celegans-ucsc-ce10)
(r-bsgenome-dmelanogaster-ucsc-dm3, r-copyhelper)[source, home-page]:
Likewise.
* gnu/packages/statistics.scm (r-rcurl)[source]: Likewise.
* guix/build-system/r.scm (bioconductor-uri): Likewise.
* guix/import/cran.scm (%cran-url, bioconductor-package?)
(bioconductor-data-package?, bioconductor-experiment-package?): Likewise.
2017-10-21 17:43:40 +02:00
Ricardo Wurmus e0c1d080b5
doc: Add an example to the documentation of the udev-service.
* doc/guix.texi (Base Services): Update 'udev-service' documentation.
2017-10-13 08:39:16 +02:00
Leo Famulari 91525b486c
build: Add the Go build system.
* guix/build-system/go.scm,
guix/build/go-build-system.scm: New files.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document the go-build-system.
2017-10-12 21:22:40 -04:00
Ludovic Courtès 50fcf37c13
doc: Give an example with a FAT UUID.
* gnu/system/examples/lightweight-desktop.tmpl <file-systems>: Add a
UUID for the /boot/efi partition.
* doc/guix.texi (Using the Configuration System): Mention it.
2017-10-11 11:12:33 +02:00
Oleg Pykhalov cca6941fee
pull: Add GUIX_PULL_URL environment variable.
* guix/scripts/pull.scm (%repository-url): Add GUIX_PULL_URL environment
  variable.
* doc/guix.texi (Invoking guix pull): Mention GUIX_PULL_URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-07 23:01:52 +02:00
Christopher Baines 5266ff719e
services: Add MongoDB.
* gnu/services/databases.scm (%default-mongodb-configuration-file,
  %mongodb-accounts, mongodb-service-type): New variables.
  (<mongodb-configuration>): New record type.
  (mongodb-activation, mongodb-shepherd-service): New procedures.
* gnu/tests/databases.scm (%test-mongodb): New variable.
* doc/guix.texi (Database Services): Add MongoDB documentation.
2017-10-06 21:24:30 +01:00
Julien Lepiller f403d7abdf
guix: ant-build-system: Add #:test-include and #:test-exclude arguments.
* guix/build-system/ant.scm: Add #:test-include and #:test-exclude
arguments.
* guix/build/ant-build-system.scm: Generate test list from arguments.
* doc/guix.texi (Build Systems): Document it.
2017-10-03 21:38:23 +02:00
Julien Lepiller 8df1faa047
guix: ant-build-system: Add main-class support.
* guix/build-system/ant.scm: New #:main-class argument
* guix/build/ant-build-system.scm: Generate a manifest file with
additional properties.
* doc/guix.texi (Build Systems): Document it.
2017-10-03 21:37:47 +02:00
Oleg Pykhalov 032a2760ee
gnu: services: Add cgit.
* gnu/services/version-control.scm
(<cgit-configuration-file>, <cgit-configuration>): New record types.
(cgit-configuration-robots-string, cgit-activation,
cgit-configuration-nginx-config): New procedures.
(%cgit-configuration-nginx, cgit-service-type): New variables.
* gnu/tests/version-control.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Version Control): Document the cgit service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-03 17:07:54 +02:00
Ludovic Courtès e797e94bf5
doc: Explain why synopses/descriptions must be literal strings.
Suggested by Dave Love <fx@gnu.org>.

* doc/guix.texi (Synopses and Descriptions): Recommend literal strings.
2017-10-03 17:07:54 +02:00
Thomas Danckaert 350cc3a270
doc: Fix rottlog configuration sample code.
* doc/guix.texi (Log Rotation): Correct code for the default mcron-service.
2017-09-30 18:11:12 +02:00
Oleg Pykhalov 4d14808af4
services: web: Add try-files for the nginx-service-type.
* gnu/services/web.scm (<nginx-server-configuration>): Add
  nginx-server-configuration-try-files.
(emit-nginx-server-config): Use it.
* doc/guix.texi (Web Services): Document it.
2017-09-28 20:37:40 +02:00
Ricardo Wurmus fb1db38547
import: Add JSON importer.
* doc/guix.texi (Invoking guix import): Document it.
* guix/scripts/import/json.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/import.scm (importers): Add json importer.
2017-09-28 13:10:11 +02:00
Jan Nieuwenhuizen 66bc1d2aaf
cuirass: Add gnu-system build spec.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset "hello".
* build-aux/cuirass/gnu-system.scm: New file.
* doc/guix.texi (Continuous Integration): Update example spec.
2017-09-27 22:19:28 +02:00
Jan Nieuwenhuizen 326f6ef10f
services: cuirass: Add host option.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add host option.
(cuirass-shepherd-service): Pass host option.
* doc/guix.texi (Continuous Integration): Document it.
2017-09-26 18:15:41 +02:00
Oleg Pykhalov 9db7e9be59
gnu: Add rsync service.
* doc/guix.texi (Networking Services): Add rsync service documentation.
* gnu/services/rsync.scm (<rsync-configuration>): New file.
* gnu/tests/rsync.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new files.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-09-23 21:07:27 +01:00
Ludovic Courtès 94d2a25091
services: network-manager: Add support for VPN plug-ins.
* gnu/services.scm (directory-union): Export.
* gnu/services/networking.scm (<network-manager-configuration>)[vpn-plugins]:
New field.
(vpn-plugin-directory, network-manager-environment): New procedure.
(network-manager-shepherd-service): Pass #:environment-variables to
'make-forkexec-constructor'.
(network-manager-service-type): Add SESSION-ENVIRONMENT-SERVICE-TYPE
extension.
* doc/guix.texi (Networking Services): Document it.
2017-09-22 00:05:08 +02:00
Ludovic Courtès 6ab63268e4
doc: Mention 'mkfs.fat' for the ESP.
Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* doc/guix.texi (Preparing for Installation): Mention 'mkfs.fat'.
2017-09-19 23:58:24 +02:00
Peter Mikkelsen 07c101e221
build-system: Add 'meson-build-system'.
* Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and
'guix/build/meson-build-system.scm'.
* guix/build-system/meson.scm: New file.
* guix/build/meson-build-system.scm: New file.
* doc/guix.texi (Build Systems): Add 'meson-build-system'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-16 18:07:00 +02:00
Ludovic Courtès 0649321d91
guix system: Add 'search' command.
* guix/scripts/system.scm (resolve-subcommand): New procedure.
(process-command): Handle 'search'.
(guix-system): Likewise.
(show-help): Augment.
* guix/scripts/system/search.scm: New file.
* po/guix/POTFILES.in: Add it.
* Makefile.am (MODULES): Add it.
* guix/ui.scm (%text-width): Export.
* doc/guix.texi (Invoking guix system): Document it.
(Service Types and Services): Mention 'guix system search'.
* tests/guix-system.sh: Test it.
2017-09-16 17:47:46 +02:00
Ludovic Courtès b714395a39
services: Add a description and location for each service type.
* gnu/services.scm (<service-type>)[description, location]: New field.
* doc/guix.texi (Service Types and Services): Document 'description'.
2017-09-16 17:47:46 +02:00
Jan Nieuwenhuizen 1c05aab473
gnu: cuirrass: Default port to 8081.
* gnu/services/cuirass.scm (<cuirass-configuration>): Default port to 8081.
  Fixes conflict with guix-publish default.
* doc/guix.texi (Continuous Integration): Update.
2017-09-13 18:33:46 +02:00
Jan Nieuwenhuizen 9bb98bcf7b
doc: Fix typo in cuirrass config example.
* doc/guix.texi (Continuous Integration): Add missing quote in example spec.
2017-09-13 18:30:00 +02:00
Ludovic Courtès 960c40de21
doc: Use Screen and OpenSSH in the bare-bones example.
* gnu/system/examples/bare-bones.tmpl (packages): Remove TCPDUMP; add
SCREEN and OPENSSH.
* doc/guix.texi (Using the Configuration System): Adjust explanation
accordingly.
2017-09-12 23:56:34 +02:00
Ludovic Courtès a9468b422b
substitute: Download from unauthorized sources that provide the right content.
This allows substitutes to be downloaded from unauthorized servers, as
long as they advertise the same hash and references as one of the
authorized servers.

* guix/scripts/substitute.scm (assert-valid-narinfo): Remove.
(valid-narinfo?): Add #:verbose?.  Handle each case of
'signature-case'.
(equivalent-narinfo?): New procedure.
(lookup-narinfos/diverse): Add 'authorized?' parameter and honor it.
[select-hit]: New procedure.
(lookup-narinfo): Add 'authorized?' parameter and pass it.
(process-query): Adjust callers accordingly.
(process-substitution): Remove call to 'assert-valid-narinfo'.  Check
whether 'lookup-narinfo' returns true and call 'leave' if not.
* tests/substitute.scm (%main-substitute-directory)
(%alternate-substitute-directory): New variables.
(call-with-narinfo): Make 'narinfo-directory' a parameter.  Call
'mkdir-p' to create it.  Change unwind handler to check whether
CACHE-DIRECTORY exists before deleting it.
(with-narinfo*): New macro.
("substitute, no signature")
("substitute, invalid hash")
("substitute, unauthorized key"): Change expected error message to "no
valid substitute".
("substitute, unauthorized narinfo comes first")
("substitute, unsigned narinfo comes first")
("substitute, first narinfo is unsigned and has wrong hash")
("substitute, first narinfo is unsigned and has wrong refs")
("substitute, unsigned narinfo comes first")
("substitute, two invalid narinfos"): New tests.
* doc/guix.texi (Substitutes): Explain the new behavior.
2017-09-11 11:10:21 +02:00
Christopher Baines c2a59a92bb
doc: Replace upstream-list with upstream-blocks.
This fixes the documentation to match the implementation.

* doc/guix.texi (Web Services): Replace 'upstream-list' with
  'upstream-blocks'.
2017-09-10 12:00:03 +01:00
Oleg Pykhalov fb1cba687e
doc: Replace server-list with server-blocks.
* doc/guix.texi (Web Services): Replace 'server-list' with 'server-blocks'.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-09-10 11:59:59 +01:00
Ludovic Courtès acc2ab65bc
doc: Update elogind URL.
* doc/guix.texi (Desktop Services): Update elogind URL.
2017-09-08 00:11:20 +02:00
Ludovic Courtès fb25508856
size: Default to '--sort=self'.
* guix/scripts/size.scm (%default-options): Change default value for
'profile<?.
* doc/guix.texi (Invoking guix size): Adjust accordingly.
2017-09-07 13:57:42 +02:00
Tobias Geerinckx-Rice 352a5b639b
services: web: Fix nginx-service-type's ‘file’ procedure.
* gnu/services/web.scm (nginx-activation, nginx-shepherd-service): Replace
references to non-existent ‘config-file’ with ‘file’.
* doc/guix.texi (Web Services): Likewise.
2017-09-05 20:57:14 +02:00
Tobias Geerinckx-Rice 4695472f8a
doc: Fix typo in copyright header.
* doc/guix.texi: Move stray ‘@*’ to where it belongs.
2017-09-05 20:57:13 +02:00
Maxim Cournoyer b9f67d6dda
services: Add auto-enable? parameter to the bluetooth-service.
* gnu/services/desktop.scm (bluetooth-configuration): New record.
(bluetooth-shepherd-service): Use it.
(bluetooth-directory): New method.
(bluetooth-service-type): Use it to extend the etc-service-type service.
(bluetooth-service): Add `auto-enable?' parameter.
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-04 15:41:24 +02:00
Ludovic Courtès 4110fbc6dd
services: '%desktop-services' uses NetworkManager instead of Wicd.
Discussed at
<https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00277.html>.

* gnu/services/desktop.scm (%desktop-services): Remove call to
'wicd-service'.  Add instances of NETWORK-MANAGER-SERVICE-TYPE and
WPA-SUPPLICANT-SERVICE-TYPE.
* doc/guix.texi (Networking Services): Document
'network-manager-service-type' as being part of '%desktop-services'.
(Desktop Services): Replace Wicd with NM.
2017-09-03 00:52:17 +02:00
Peter Mikkelsen b6dc69af1d
services: mpd: Remove the mpd-file field.
Since MPD switches user, the pid-file must be in a writable dir.  This
is now always /var/run/mpd/(user)/pid.

* gnu/services/audio.scm (mpd-service-type): Add a activation-service
extension.
(<mpd-configuration>)[pid-file]: Remove.
(mpd-service): Rename to...
(mpd-shepherd-service): ... this.
(mpd-file-name, mpd-service-activation): New procedure.
* doc/guix.texi (Audio Services): Document the changes.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-08-31 14:43:26 +02:00
Andy Wingo 063c608261
gnu: Add AccountsService service to desktop services.
* doc/guix.texi (Desktop Services): Add accountsservice-service.
* gnu/services/desktop.scm (%accountsservice-activation):
(accountsservice-service-type): New public variables.
(%desktop-services): Add accountsservice-service.
2017-08-25 16:01:56 +02:00
Andy Wingo 045ebb3e58
gnu: bootloader: Deprecate "device" field in favor of "target".
* gnu/bootloader.scm (<bootloader-configuration>): Deprecate "device" field in
favor of "target" field.  This is mostly a renaming but also a generalization
to support UEFI targets being paths to a mounted partition instead of a device
name.
* gnu/system/examples/bare-bones.tmpl:
* gnu/system/examples/desktop.tmpl:
* gnu/system/examples/lightweight-desktop.tmpl:
* gnu/system/examples/vm-image.tmpl:
* gnu/system/install.scm:
* gnu/tests.scm:
* gnu/tests/install.scm:
* gnu/tests/nfs.scm:
* tests/system.scm: Adapt all invocations of bootloader-configuration.
* guix/scripts/system.scm (perform-action): Rename device argument to
bootloader-target.
(process-action): Adapt caller.
* doc/guix.texi (Proceeding with the Installation):
* doc/guix.texi (Bootloader Configuration): Update documentation.
2017-08-23 22:23:19 +02:00
Ryan Moe e6051057ab
services: Add libvirt services
* gnu/services/virtualization.scm: New file.
* doc/guix.texi (Virtualization Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-23 12:47:24 +01:00
Christopher Baines 39fc3004be
web: Remove the nginx-service procedure.
Now that the service-type has a default value, and configuration record is
accessible.

* gnu/services/web.scm (nginx-service): Remove procedure.
* doc/guix.texi (Web Services): Update and improve NGinx documentation.
2017-08-22 17:49:05 +01:00
Ricardo Wurmus af735661f3
pack: Add "none" compressor.
* guix/scripts/pack.scm (%compressors): Add compressor "none"; prepend
extension with ".".
(self-contained-tarball, docker-image): Assume compressor extensions start
with period.
* doc/guix.texi (Invoking guix pack): Document it.
2017-08-19 17:59:42 +02:00
Christopher Baines 2905926285
doc: Update Database services in detailed node list.
This was updated in the Service subsection, but the matching update here was
missed.

* doc/guix.text (Top): Change database services description.
2017-08-19 11:38:06 +01:00
Danny Milosavljevic d79013f66a
maint: Create an ISO9660 installation image in the 'release' target.
* Makefile.am (GUIXSD_IMAGE_BASE): Adapt target file name.
(release): Use file-system-type iso9660.
* doc/guix.texi: Document installation from DVD.
2017-08-19 04:38:15 +02:00
Peter Mikkelsen 06465d2ba4
gnu: Add mpd service.
* doc/guix.texi: Add documentation.
* gnu/services/audio.scm (<mpd-configuration>): New record type.
  (mpd-service-type): New service type.
* gnu/tests/audio.scm: New file.
* gnu/local.mk: Add new files.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-13 07:36:32 +01:00
Christopher Baines 065225a42d
doc: Change Database Services description.
This is overly specific, as this section now includes the documentation for
Redis, which is not an SQL database.

* doc/guix.texi: Change database services description.
2017-08-12 22:08:13 +01:00
Leo Famulari 7b14c48bd2
doc: Fix typo.
* doc/guix.texi (Invoking guix pack): Fix typo.
2017-08-10 16:11:01 -04:00
Christopher Baines 91fdc8a574
services: Update the Tailon service for Tailon 1.3.0.
Tailon 1.3.0 (upgraded from 1.1.1) adds support for HTTP authentication.

* gnu/services/admin.scm (<tailon-configuration-file>): Add http-auth and
  users configuration values.
  (tailon-configuration-file-http-auth, tailon-configuration-file-users): New
  procedures.
  (tailon-configuration-file-compiler): Add support for the http-auth and
  users configuration options.
* doc/guix.texi (Monitoring Services): Document authentication for Tailon.
2017-08-09 23:50:31 +01:00
Christopher Baines f2d8e7f720
services: Add missing wrap-lines option to tailon.
* gnu/services/admin.scm (<tailon-configuration-file>): Add wrap-lines.
  (tailon-configuration-wrap-lines): New procedure.
  (tailon-configuration-file-compiler): Add support for wrap-lines.
* doc/guix.texi (Monitoring Services): Document the wrap-lines Tailon
  configuration option.
2017-08-09 23:50:27 +01:00
Ricardo Wurmus 88c8f247e5
build: Add minify build system.
* guix/build-system/minify.scm: New file.
* guix/build/minify-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document minify-build-system.
2017-08-04 11:23:52 +02:00
Ludovic Courtès ec5495ba3f
doc: 'patches' field of <origin> can list file-like objects.
Fixes <http://bugs.gnu.org/27165>.
Reported by sirgazil <sirgazil@zoho.com>.

* doc/guix.texi (origin Reference): 'patches' can contain file-like
objects.
2017-08-03 00:35:59 +02:00
Ludovic Courtès 59a1627518
pull: Fetch source code from Git.
* guix/scripts/pull.scm (%snapshot-url, with-environment-variable)
(with-PATH): Remove.
(ensure-guile-git!): New procedure.
(%repository-url): New variable.
(%default-options): Add 'repository-url' and 'ref'.
(show-help, %options): Add '--commit' and '--url'.
(temporary-directory, first-directory, interned-then-deleted)
(unpack): Remove.
(build-from-source): Rename 'tarball' to 'source'.  Remove call to
'unpack'.
(build-and-install): Rename 'tarball' to 'source'.
(honor-lets-encrypt-certificates!, report-git-error): New procedures.
(with-git-error-handling): New macro.
(guix-pull)[fetch-tarball]: Remove.
Wrap body in 'with-git-error-handling'.  Rewrite to use
'latest-repository-commit'.
* build-aux/build-self.scm (build): Print an error message and exit when
GUILE-GIT is #f.
* doc/guix.texi (Invoking guix pull): Mention Git.  Document '--commit'
and '--branch'.
2017-08-02 00:04:00 +02:00
Ludovic Courtès 7441f1dbd7
build: Make Guile-Git a hard requirement.
* configure.ac: Error out when (git) is missing.
* doc/guix.texi (Requirements): Mention Guile-Git.
* Makefile.am (MODULES): Add guix/git.scm unconditionally.
2017-08-02 00:03:59 +02:00
Ludovic Courtès 1398a43816
services: openssh: Extensions provide extra authorized keys.
* gnu/services/ssh.scm (extend-openssh-authorized-keys): New procedure.
(openssh-service-type)[compose, extend]: New fields.
* doc/guix.texi (Networking Services): Document the extension.
2017-07-30 16:23:19 +02:00
Ludovic Courtès 4892eb7c6a
services: openssh: Add 'authorized-keys' field.
* gnu/services/ssh.scm (<openssh-configuration>)[authorized-keys]: New
field.
(authorized-key-directory): New procedure.
(openssh-config-file): Honor 'authorized-keys'.
(openssh-activation): Use 'with-imported-modules'.  Make /etc/ssh
755.  Create /etc/ssh/authorized_keys.d.
* doc/guix.texi (Networking Services): Document it.
2017-07-30 16:23:19 +02:00
Ludovic Courtès 03317cbfc4
doc: Give an example of arguments for the 'run-vm.sh' script.
Suggested by Oleg Pykhalov <go.wigust@gmail.com>.

* doc/guix.texi (Invoking guix system): Give an example of passing
arguments to the 'run-vm.sh' script.
2017-07-30 16:23:19 +02:00
Christopher Baines 119fdd0d0e
services: Add memcached.
* gnu/services/databases.scm (memcached-service-type, %memcached-accounts):
  New variables.
  (<memcached-configuration>): New record type.
  (memcached-service-type): New procedures.
* gnu/tests/databases.scm: New file.
* doc/guix.texi (Database Services): Document the new memcached service.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add entry for tests/databases.scm.
2017-07-30 09:08:30 +01:00
Christopher Baines 730ed6ec8b
gnu: services: admin: Add tailon.
* gnu/services/admin.scm
  (<tailon-configuration>, <tailon-configuration-file>): New record types.
  (tailon-configuration-files-string, tailon-shepherd-service): New
  procedures.
  (%tailon-accounts, tailon-service-type: New variables.
* doc/guix.texi (Monitoring Services: Document the Tailon service.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/tests/admin.scm.
* gnu/tests/admin.scm: New file.
2017-07-29 12:45:03 +01:00
Andy Wingo a5130d10fa
gnu: Add fcgiwrap service.
* doc/guix.texi (Web Services): Add documentation.
* gnu/services/web.scm (<fcgiwrap-configuration>): New record type.
(fcgiwrap-accounts, fcgiwrap-shepherd-service): New service extensions.
(fcgiwrap-service-type): New service type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-07-26 11:00:04 +02:00
Ludovic Courtès 585347d7aa
Add 'guix weather'.
* guix/scripts/weather.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Substitutes, Invoking guix publish): Mention "guix
weather".
(Invoking guix weather): New node.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2017-07-25 12:15:43 +02:00
Mathieu Othacehe c800fd564b
services: cuirass: Add fallback parameter.
* gnu/services/cuirass.scm (<cuirass-configuration>)[fallback?]: New field.
(cuirass-shepherd-service): Take it into account.
* doc/guix.texi (Continuous Integration): Document it.
2017-07-21 21:46:47 +02:00
Ludovic Courtès c95644f017
publish: Make the cache eviction policy less aggressive.
Suggested by Mark H Weaver <mhw@netris.org>.

* guix/scripts/publish.scm (nar-expiration-time): New procedure.
(render-narinfo/cached): Use it as the #:entry-expiration passed to
'maybe-remove-expired-cache-entries'.
2017-07-21 17:03:25 +02:00
Ludovic Courtès 457103b90b
doc: Discuss when to run a GC.
* doc/guix.texi (Invoking guix gc): Add a paragraph on when to run a GC.
2017-07-20 15:29:15 +02:00
Danny Milosavljevic 8d858010b3
bootloader: Add u-boot.
* gnu/bootloader/u-boot.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi: Document it.
2017-07-15 12:53:37 +02:00
Ludovic Courtès a6c1fe8240
size: Add '--sort=KEY'.
* guix/scripts/size.scm (profile-closure<?, profile-self<?): New
procedures.
(display-profile): Add #:profile<? parameter and honor it.
(show-help, %options): Add '--sort'.
(%default-options): Add 'profile<?'.
(guix-size): Pass PROFILE<? to 'display-profile*'.
* doc/guix.texi (Invoking guix size): Document '--sort'.
2017-07-12 21:56:17 +02:00
Ricardo Wurmus e5942cbfa4
doc: Recommend rebuilding the font cache.
* doc/guix.texi (X11 Fonts): Recommend rebuilding the font cache with fc-cache
when fonts are not found.
2017-07-09 17:07:38 +02:00
Oleg Pykhalov dde1e152ce
doc: Add note about private-key during offload.
* doc/guix.texi (Using the Offload Facility): Add note about private-key.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-07-08 18:29:35 +02:00
宋文武 296bf4d5ab
services: Add 'sysctl-service-type'.
* gnu/services/sysctl.scm: New file.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2017-07-04 20:40:51 +08:00
Danny Milosavljevic 3b6e7d8651
doc: Update formatting.
* doc/guix.texi (disk-image): Update formatting of "ext4".

Follow-up to 3f4d8a7f66.
2017-07-03 16:38:05 +02:00
Danny Milosavljevic 3f4d8a7f66
guix system: Add "--file-system-type" option.
* guix/scripts/system.scm (process-action): Pass file-system-type to ...
(perform-action): ... here.  Add new keyword argument.  Pass new value to ...
(system-derivation-for-action): ... here.  Add new keyword argument.
Pass new value to system-disk-image.
* doc/guix.texi (disk-image): Document new option.
2017-07-03 16:33:46 +02:00
Ludovic Courtès a8ac4f081a
vm: Estimate the disk size by default.
* gnu/build/vm.scm (estimated-partition-size): New procedure.
* gnu/system/vm.scm (expression->derivation-in-linux-vm):
Change #:disk-image-size default to 'guess.
[builder]: When DISK-IMAGE-SIZE is 'guess, use
'estimated-partition-size' and compute and estimate of the image size.
(qemu-image): Likewise.
* guix/build/store-copy.scm (file-size, closure-size): New procedures.
* guix/scripts/system.scm (%default-options): Change 'image-size' to
'guess.
* doc/guix.texi (Building the Installation Image): Remove '--image-size'
flag from example.
(Invoking guix system): Document the image size estimate.
2017-06-30 00:16:50 +02:00
Ludovic Courtès 1071f781d9
daemon: '--listen' can be passed several times, can specify TCP endpoints.
* nix/nix-daemon/guix-daemon.cc (DEFAULT_GUIX_PORT): New macro.
(listen_options): New variable.
(parse_opt): Push back '--listen' options to LISTEN_OPTIONS.
(open_unix_domain_socket, open_inet_socket)
(listening_sockets): New functions.
(main): Use it.  Pass SOCKETS to 'run'.
* nix/nix-daemon/nix-daemon.cc (matchUser): Remove.
(SD_LISTEN_FDS_START): Remove.
(acceptConnection): New function.
(daemonLoop): Rewrite to take a vector of file descriptors, to select(2)
on them, and to call 'acceptConnection'.
(run): Change to take a vector of file descriptors.
* tests/guix-daemon.sh: Add test.
2017-06-22 10:59:07 +02:00
Ludovic Courtès 5df1395a8d
store: Define a default port for TCP connections.
* guix/store.scm (%default-guix-port): New variable.
(connect-to-daemon)[connect]: Use it when (uri-port uri) is #f.
* doc/guix.texi (The Store): Mention the default port number.
2017-06-22 10:59:07 +02:00
Julien Lepiller f3853a259b
gnu: services: use seconds instead of duration strings.
* gnu/services/dns.scm (zone-file, knot-policy-configuration): Use numbers
instead of duration strings.
(verify-knot-policy-configuration): Fix typo.
* doc/guix.texi (DNS Services): Update documentation.
2017-06-21 19:29:57 +02:00
Leo Famulari 01049bb0c1
doc: Suggest a QEMU image size large enough for the system examples.
* doc/guix.texi (Installing GuixSD in a Virtual Machine): Increase suggested
image size from 5 GB to 50 GB.
2017-06-17 18:04:32 -04:00
Leo Famulari c8f54f5346
doc: Clarify comment about QEMU qcow2 file sizes.
* doc/guix.texi (Installing GuixSD in a Virtual Machine): Clarify comment about
QEMU's qcow2 virtualized block device file format.
2017-06-17 01:11:14 -04:00
Ricardo Wurmus 2f0c4b8284
doc: Explain how to use the GCC toolchain.
* doc/guix.texi (Application Setup): Add subsection "The GCC toolchain".
2017-06-16 18:23:31 +02:00