Commit Graph

1200 Commits

Author SHA1 Message Date
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