Commit Graph

1399 Commits

Author SHA1 Message Date
Efraim Flashner
7017d87438
doc: Fix typo.
* doc/guix.texi (Desktop Services): Use 'any' when refering to more than
two desktop environments.
2018-05-07 22:06:15 +03:00
Oleg Pykhalov
8cd1e8e849
gnu: Add sound service.
* gnu/services/sound.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add this.
* doc/guix.texi (Sound Services): New chapter.
2018-05-02 15:11:13 +03:00
Ludovic Courtès
5986e94118
services: gpm: Provide a default value and document 'gpm-service-type'.
* 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'.
2018-04-30 14:22:43 +02:00
Danny Milosavljevic
d94e81dbfc
services: Add modem-manager-service-type.
* 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).
2018-04-30 03:47:16 +02:00
Chris Marusich
f1104d9009
services: Add dhcpd-service-type and <dhcpd-configuration>.
* 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.
2018-04-21 23:46:30 -07:00
Clément Lassieur
e5fe544eaa
services: cgit: Add support for project-list.
* 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'.
2018-04-11 21:23:59 +02:00
Clément Lassieur
ad05e96e14
services: cgit: Add support for file-like objects.
* 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.
2018-04-11 21:23:59 +02:00
Ludovic Courtès
4fbd1a2b7f
gexp: 'scheme-file' can splice expressions.
* 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.
2018-04-11 01:03:47 +02:00
Ludovic Courtès
81c63cfc6f
doc: Recommend nano during installation.
* doc/guix.texi (Preparing for Installation)
(Proceeding with the Installation): Recommend nano.
2018-04-04 23:14:36 +02:00
Ludovic Courtès
fc95dc4c34
guix package: Add '--allow-collisions'.
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'.
2018-03-31 23:30:50 +02:00
Chris Marusich
881c61d062
doc: Improve <service-type> documentation.
* doc/guix.texi (Service Reference): Correct and clarify some statements
  regarding the "compose" and "extend" procedures of <service-type>.
2018-03-29 07:29:49 +02:00
Chris Marusich
3cd4447f56
guix-install.sh: Explicitly set root's home directory.
* 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>
2018-03-29 07:03:37 +02:00
Ludovic Courtès
183445a6ed
weather: Report continuous integration stats.
* guix/scripts/weather.scm (histogram, throughput, queued-subset): New
procedures.
(report-server-coverage): Report CI information.
* doc/guix.texi (Invoking guix weather): Document it.
2018-03-28 16:17:06 +02:00
Ludovic Courtès
8980eea5ab
guix gc: Add '--derivers'.
* 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.
2018-03-27 14:51:44 +02:00
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 b8f59cdc20:
'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