Commit graph

1471 commits

Author SHA1 Message Date
Ludovic Courtès
6772ed1e07
services: openssh: Add 'log-level' field.
* gnu/services/ssh.scm (<openssh-configuration>)[log-level]: New field.
(openssh-config-file): Honor it.
* doc/guix.texi (Networking Services): Document it.
2018-08-28 12:35:02 +02:00
Chris Marusich
3bcb305b98
services: tor: Make it easier to use UNIX sockets.
* doc/guix.texi (Networking Services): Document it, and mention that
tor-service is deprecated.
* gnu/services/networking.scm (<tor-configuration>) <socks-socket-type>:
New field.
(tor-configuration->torrc): When socks-socket-type is 'unix, set
SocksPort to UNIX domain socket /var/run/tor/socks-sock and set
UnixSocksGroupWritable to 1.
* gnu/tests/networking.scm (%tor-os/unix-socks-socket): Instead of using
a custom config file, just set socks-socket-type to 'unix.
2018-08-28 00:25:05 -07:00
Julien Lepiller
1d8d69c863
nls: Update 'fr' translation. 2018-08-26 12:43:49 +02:00
Ludovic Courtès
fa4ebd2f08
doc: Remove extra space before colon in menu entries.
Fixes <https://bugs.gnu.org/32473>.
Reported by HiPhish <hiphish@posteo.de>.

* doc/guix.texi (Top, Defining Packages): In menu, remove extra space
before "::".
2018-08-20 12:20:45 +02:00
Julien Lepiller
9c33229452
doc: Fix typo.
* doc/guix.texi (Using the Configuration System): Add missing 'you' and
fix word order.
2018-08-16 11:13:57 +02:00
Arun Isaac
de30205ba0
gnu: services: Add pcscd service.
* gnu/services/security-token.scm: New file.
* gnu/tests/security-token.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register new files.
* doc/guix.texi (Miscellaneous Services): Document the service.
2018-08-16 02:46:27 +05:30
Julien Lepiller
3480d6f721
doc: Replace reference to deprecated title field.
* doc/guix.texi (Proceeding with the Installation): Use file-system-label
instead of the title field.
2018-08-15 23:02:12 +02:00
Julien Lepiller
336e4d6195
doc: Fix typo.
* doc/guix.texi (Preparing for Installation): Add missing 'to'.
2018-08-15 21:49:49 +02:00
Julien Lepiller
524756d127
nls: Update 'fr' translation. 2018-08-15 18:54:29 +02:00
Clément Lassieur
efb22b47db
services: cgit: Disable repo booleans having a global counterpart.
Otherwise the global counterpart is never taken into account.

* doc/guix.texi (Version Control Services): Update accordingly.
* gnu/services/cgit.scm (repo-boolean?, serialize-repo-boolean): Use the
DEFINE-MAYBE macro to allow for the 'disabled value.
(repository-cgit-configuration)[enable-commit-graph?, enable-log-filecount?,
enable-log-linecount?, enable-remote-branches?, enable-subject-links?,
enable-html-serving?]: Change default value to 'disabled.
2018-08-13 00:29:47 +02:00
Ricardo Wurmus
a928596162
import: hackage: Support recursive importing.
* guix/import/hackage.scm (hackage-recursive-import): New procedure.
(hackage-module->sexp): Return dependencies alongside dependencies.
(hackage->guix-package): Memoize results.
* guix/scripts/import/hackage.scm (show-help, %options, guix-import-hackage):
Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
2018-08-11 18:53:46 +02:00
Marius Bakke
52ee4d85c2
doc: Fix syntax error.
* doc/guix.texi (Networking Services): Escape newline between keyword
arguments.
2018-08-09 21:19:46 +02:00
Clément Lassieur
4bfa256ca1
doc: Fix Cuirass URL.
* doc/guix.texi (Continuous Integration): Fix Cuirass URL.
2018-07-30 21:47:13 +02:00
Eric Brown
5b68239072
services: openssh: Add forwarding options.
* gnu/services/ssh.scm (<openssh-configuration>)[allow-agent-forwarding?]
[allow-tcp-forwarding?, gateway-ports?]: New fields.
(openssh-config-file): Handle them.
* doc/guix.texi (Networking Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-07-29 18:50:28 +02:00
Chris Marusich
346a632144
doc: Clarify some of guix-daemon's GC options.
Reported by Pierre Neidhardt <ambrevar@gmail.com>.

* doc/guix.texi (Invoking guix-daemon): Fix an incorrect statement
regarding --gc-keep-outputs.  Add a little to the description of this
option and --gc-keep-derivations.
2018-07-28 03:00:16 -07:00
Efraim Flashner
8e1895964f
gnu: Add hplip-minimal.
* gnu/packages/cups.scm (hplip-minimal): New variable.
* gnu/packages/scanner.scm (sane-backends)[inputs]: Replace hplip with
hplip-minimal.
* doc/guix.texi (Printing Services): Change example code to use
hplip-minimal in place of hplip. Add note explaining when use hplip.
2018-07-25 11:52:59 +03:00
Ludovic Courtès
2a3b1b3235
build-system: Add 'guile-build-system'.
* guix/build-system/guile.scm, guix/build/guile-build-system.scm: New
files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'guile-build-system'.
2018-07-23 12:25:31 +02:00
Clément Lassieur
701cbfd15d
doc: Remove the documentation about Cuirass' load-path.
* doc/guix.texi (Continuous Integration): Remove the load-path field.
2018-07-17 00:00:27 +02:00
Ludovic Courtès
dc733e6a12
pull: Use (guix inferior) to display new and upgraded packages.
* guix/scripts/pull.scm (display-profile-content): Call
'display-generation'.
(display-new/upgraded-packages, display-profile-content-diff): New
procedures.
(process-query)[list-generation]: Remove.
[list-generations]: New procedure.
Adjust accordingly.
* doc/guix.texi (Invoking guix pull): Update example of '-l'.
2018-07-13 17:28:40 +02:00
Ludovic Courtès
2ca299caf6
Add (guix inferior) and (guix scripts repl).
* guix/inferior.scm, guix/scripts/repl.scm, tests/inferior.scm: New
files.
* Makefile.am (MODULES): Add 'guix/scripts/repl.scm' and
'guix/inferior.scm'.
(SCM_TESTS): Add 'tests/inferior.scm'.
* doc/guix.texi (Invoking guix repl): New node.
2018-07-13 17:28:39 +02:00
Arun Isaac
9286c29504
etc: snippets: Add guix-commit-message-use-https-home-page.
* etc/snippets/text-mode/guix-commit-message-use-https-home-page: New file.
* doc/contributing.texi (The Perfect Setup): Document new snippet.
2018-07-13 12:45:11 +05:30
Ludovic Courtès
147c5aa5d4
services: mcron: Add 'schedule' action.
Inspired by
<https://lists.gnu.org/archive/html/help-guix/2018-07/msg00035.html>.

* gnu/services/mcron.scm (shepherd-schedule-action): New procedure.
(mcron-shepherd-services): Add 'actions' field.
* gnu/tests/base.scm (run-mcron-test)["schedule action"]: New test.
* doc/guix.texi (Scheduled Job Execution): Mention 'herd schedule'.
2018-07-13 00:08:55 +02:00
Ludovic Courtès
701383081a
services: shepherd: Support custom actions.
* gnu/services/shepherd.scm (<shepherd-service>)[actions]: New field.
(<shepherd-action>): New record type.
(shepherd-service-file): Pass #:actions to 'make'.
* doc/guix.texi (Shepherd Services): Document custom actions.
2018-07-13 00:08:54 +02:00
Jan Nieuwenhuizen
e8e1f295f1
gexp: Allow bytevector as content of `plain-file'.
This allows for using a package source directly from git, doing something like

    (define (command->bytevector command)
      (let ((port (apply open-pipe* OPEN_READ command)))
        (let ((output (get-bytevector-all port)))
          (close-port port)
          output)))

    (define-public hello-git
      (package
        (name "hello")
        (version "git")
        (source (let* ((commit "stable-2.0")
                       (content (command->bytevector
                                 `("git" "archive" "--format" "tar" "--prefix"
                                   ,(string-append commit "/") ,commit)))
                       (file-name (string-append "hello-" commit)))
                  (plain-file file-name content)))
        ...
        ))

* guix/gexp.scm (<plain-file>): Also allow bytevector content.
(plain-file-compiler): Handle bytevector content.
* doc/guix.texi (G-Expressions): Describe plain-file now also taking
bytevectors.
2018-07-12 06:22:04 +02:00
Jan Nieuwenhuizen
f3a422511f
store: Add `binary-file'.
* guix/store.scm (binary-file): New function.
* doc/guix.texi (The Store Monad): Describe binary-file.
2018-07-12 06:22:04 +02:00
Oleg Pykhalov
88388766f7
import: gem: Add recursive import.
* doc/guix.texi (Invoking guix import): Document gem recursive import.
* guix/import/gem.scm (gem->guix-package): Return package and dependencies
values.
(gem-recursive-import): New procedure.
* guix/scripts/import/gem.scm (show-help, %options): Add recursive option.
(guix-import-gem): Use 'gem-recursive-import'.
* tests/gem.scm (test-json): Rename to 'test-foo-json'.
("gem->guix-package"): Use 'test-foo-json'.
(test-bar-json, test-bundler-json): New variables.
("gem-recursive-import"): New test.
2018-07-11 07:08:54 +03:00
Julien Lepiller
b24443bff9
guix: Add opam importer.
* guix/scripts/import.scm (importers): Add opam.
* guix/scripts/import/opam.scm: New file.
* guix/import/opam.scm: New file.
* tests/opam.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi (Invoking guix import): Document it.
2018-07-10 10:11:01 +02:00
Ludovic Courtès
af7914a1f1
doc: Use https://alpha.gnu.org instead of FTP.
* doc/guix.texi (Binary Installation)
(USB Stick and DVD Installation, Running GuixSD in a VM): Use
"https://alpha.gnu.org" instead of the now deprecated FTP URLs.
2018-07-09 16:49:19 +02:00
EuAndreh
cf0d926202
doc: Fix FTP link in documentation.
The current incorrect link at: https://www.gnu.org/software/guix/manual/en/guix.html#Running-GuixSD-in-a-VM.

I looked for other instances of this mistake in the docs, but I could't
find any.

* doc/guix.texi: fix link to GuixSD VM image in FTP server.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-07-09 16:49:16 +02:00
Ricardo Wurmus
9c2427abe7
doc: Fix syntax error and remove trailing whitespace.
This is a follow-up to commit a33652ee33.

* doc/guix.texi (Prometheus Node Exporter Service): Remove trailing whitespace
and change "defvr" to "defvar".
2018-07-09 13:30:32 +02:00
Gábor Boskovits
a33652ee33
services: Add prometheus-node-exporter-service-type.
* gnu/services/monitoring.scm (prometheus-node-exporter-service-type):
New variable.
(<prometheus-node-exporter-configuration>): New record type.
(prometheus-node-exporter-shepherd-service): New procedure.
* gnu/doc/guix.texi (Monitoring Services): Document it.
* gnu/tests/monitoring.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add test module.
2018-07-09 10:39:06 +02:00
Oleg Pykhalov
c2587d3201
doc: Fix typo.
* doc/guix.texi (Preparing for Installation): Fix ‘the’ typo.
2018-07-07 11:45:55 +03:00
Ludovic Courtès
c2808d4c67
Merge branch 'version-0.15.0' 2018-07-06 17:42:25 +02:00
Ludovic Courtès
c35f77c5a0
doc: Update URL of the Emacs-Guix manual.
* doc/htmlxref.cnf (EMACS_GUIX): Update URL.
2018-07-05 22:16:10 +02:00
Ludovic Courtès
56b4dabc2b
doc: Mention translations of the manual.
* doc/guix.texi (Top): Add note about l10n.
* doc/htmlxref.cnf: Add "guix.fr".
2018-07-05 22:13:23 +02:00
Ludovic Courtès
63899cc774
doc: Update package count.
* doc/guix.texi (Limitations): Update number.
2018-07-05 11:54:23 +02:00
Ludovic Courtès
900e6d4051
doc: Mention ARM and AArch64 bootloaders.
* doc/guix.texi (Bootloader Configuration): Mention ARM and AArch64.
Add missing uses of @code.
2018-07-05 11:53:36 +02:00
Ludovic Courtès
fc0e663f78
doc: Improve UEFI/BIOS bootloader documentation.
Partly fixes <https://bugs.gnu.org/30312>.

* doc/guix.texi (Preparing for Installation): Add note on how to choose
between UEFI and BIOS.
(Using the Configuration System)[Bootloader]: New subsubsection.
(Bootloader Configuration): Expound on the bootloader type and target.
* gnu/system/examples/desktop.tmpl: Switch to UEFI.
* gnu/system/examples/bare-bones.tmpl: Explicitly mention "legacy" and
"BIOS" in the comments.
2018-07-05 11:44:46 +02:00
Tobias Geerinckx-Rice
142869f80f
Don't force colour in aliases.
* gnu/system/shadow.scm (default-skeletons): Substitute ‘--color=auto’
for ‘--color’ (which implies ‘=always’) in aliases.
* doc/guix.texi (G-Expressions): Also adjust examples as that makes
more sense.
2018-07-05 02:35:03 +02:00
Ludovic Courtès
0207768fc9
doc: Mention the build environment.
* doc/contributing.texi (Running Guix Before It Is Installed): Add a
note about having the dependencies available.
2018-07-04 14:36:07 +02:00
Ludovic Courtès
fc6cbb311c
doc: Specify Guile-SQLite3 minimum version.
* doc/guix.texi (Requirements): Specify the minimum guile-sqlite3
version.
* README (Requirements): Likewise.
2018-06-27 16:58:59 +02:00
Tobias Geerinckx-Rice
a15e4b160a
doc: Private key passphrases are not supported.
* doc/guix.texi (Daemon Offload Setup): Note this.
2018-06-27 12:46:27 +02:00
Nicolas Goaziou
69390e29db
doc: Minor improvements to Power Management Services.
* doc/guix.texi (Top): Improve summary.
(Power Management Services): Use proper titlecase for section.  Add index
entries and sub-sections.
2018-06-26 22:46:07 +02:00
Marius Bakke
671dd8d6e6
doc: Use a consistent partitioning scheme.
* doc/guix.texi (Preparing for Installation): Consistently refer to the ESP as
/dev/sda1; root file system as /dev/sda2; and swap as /dev/sda3.
2018-06-26 17:27:40 +02:00
宋文武
6d91a46992
doc: Add an example of ~/.asoundrc file for ALSA configuration.
* doc/guix.texi (Sound Services): Improve it and add an example of ~/.asoundrc
file.
2018-06-25 23:29:47 +08:00
Oleg Pykhalov
1e3861eb00
services: alsa-service-type: Fix the loading of 'pulse' plugin.
Fixes <https://bugs.gnu.org/31591>.

* gnu/services/sound.scm (<alsa-configuration>)[alsa-plugins]: New field.
(alsa-config-file): Use 'pcm_type.pulse' and 'ctl_type.pulse' to specify file
paths to the 'pulse' plugin.
* doc/guix.texi (Sound Services): Document this.

Co-authored-by: 宋文武 <iyzsong@member.fsf.org>
2018-06-25 23:29:46 +08:00
Julien Lepiller
2cf2c77884
nls: Update 'fr' translation. 2018-06-23 16:23:50 +02:00
Danny Milosavljevic
7f93bbd5aa
services: Add fingerprint identification service.
* gnu/services/authentication.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2018-06-23 00:14:27 +02:00
Marius Bakke
38ab778fbd
doc: Clarify when branches are "frozen".
* doc/contributing.texi (Submitting Patches): Provide a link to Hydra.  Add
section about freezing branches.
2018-06-16 21:35:24 +02:00
Danny Milosavljevic
4ce4fc5010
system: Add os-with-u-boot.
* gnu/system/install.scm (os-with-u-boot): New procedure.
* gnu/packages/bootloaders.scm (make-u-boot-package): Export.
* doc/guix.texi (Building the Installation Image for ARM Boards): New
subsection.
2018-06-15 14:16:37 +02:00
Ludovic Courtès
c5a2e1ffcb
build: Require Guile-SQLite3.
The next commits make (sqlite3) an indirect dependency of (gnu build
install), which is itself used by (guix scripts system), hence this new
requirement.

* configure.ac: Error out when $guix_cv_have_recent_guile_sqlite3 is
false.  Remove HAVE_GUILE_SQLITE3 Automake conditional.
* Makefile.am (MODULES, SCM_TESTS): Remove HAVE_GUILE_SQLITE3 conditions.
* doc/guix.texi (Requirements): Add Guile-SQLite3.
* README: Ditto.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-SQLITE3.
[arguments]: In 'wrap-program' phase, take guile-sqlite3 into account.
2018-06-14 11:16:58 +02:00
Ludovic Courtès
e2f8be0664
pull: Add '--list-generations'.
* guix/scripts/pull.scm (show-help, %options): Add '--list-generations'.
(display-profile-content, process-query): New procedures.
(guix-pull): Honor '--list-generations'.
2018-06-13 23:41:21 +02:00
Christopher Baines
25e071ead9
services: nginx: Support extra content in the http block.
This helpful when adding content to the nginx configuration file, which isn't
supported by the record type used for the configuration.  For example, like
adding proxy_cache_path configuration.

* gnu/packages/web.scm (<nginx-configuration>): Add new extra-content field.
  (nginx-configuration-extra-content): New field accessor.
  (default-nginx-config): Add support for the extra-content field.
* doc/guix.texi (NGINX): Document the new extra-content field.
2018-06-12 21:18:10 +01:00
Ludovic Courtès
75e24d7b0e
pull: Install the new Guix in a profile.
* guix/scripts/pull.scm (%pull-version): New variable.
(build-from-source): Pass #:pull-version to BUILD.
(whole-package-for-legacy, derivation->manifest-entry): New procedure.
(build-and-install): Rewrite in terms of 'build-and-use-profile'.
* guix/scripts/system.scm (maybe-suggest-running-guix-pull)[latest]:
Switch to "/current".
* scripts/guix.in (augment-load-paths!): Remove use of
~/.config/guix/latest.
* build-aux/compile-as-derivation.scm: Replace "/guix/latest/" with
"/current/share/guile/site/X.Y"
* guix/scripts.scm (warn-about-old-distro)[age]: Check "/current"
instead of "/latest".
* doc/guix.texi (Invoking guix pull): Document it.
* doc/contributing.texi (Running Guix Before It Is Installed): Remove
footnote about abusing ~/.config/guix/latest.
2018-06-09 12:02:27 +02:00
Julien Lepiller
7f3f72b292
nls: Update 'fr' translation. 2018-06-08 20:38:41 +02:00
Julien Lepiller
136a1e8b57
doc: Document xorg keymap configuration.
* doc/guix.texi (Xorg display): Add an example xorg keymap configuration.
2018-06-08 20:38:18 +02:00
宋文武
c061eb587c
services: dnsmasq: Use 'negative-cache?' instead of 'no-negcache?'.
The 'no-negcache?' option is mapped to the '--no-negcache' command-line
argument directly, but we're in the scheme world, where the general guideline
is to avoid double-negations in identifiers.

* gnu/services/dns.scm <dnsmasq-configuration>: Replace the 'no-negcache?'
field with 'negative-cache?'.
* doc/guix.texi (DNS Services)[Dnsmasq Service]: Adjust accordingly.
2018-06-08 23:32:49 +08:00
Ludovic Courtès
3cacfa9e1b
doc: Regenerate *.fr.texi. 2018-06-08 17:04:23 +02:00
Oleg Pykhalov
74032da3a2
import: elpa: Add recursive import.
* doc/guix.texi (Invoking guix import): Document elpa recursive import.
* guix/import/elpa.scm (elpa-package->sexp): Return package and
dependencies values.
(elpa-guix-name, elpa-recursive-import): New procedures.
* guix/scripts/import/elpa.scm (show-help, %options): Add recursive
option.
(guix-import-elpa): Use 'elpa-recursive-import'.
2018-06-08 14:58:33 +03:00
宋文武
97f6e9133a
services: Add dnsmasq-service-type.
* gnu/services/dns.scm (dnsmasq-service-type): New variable.
(<dnsmasq-configuration>): New record type.
(dnsmasq-shepherd-service): New procedure.
* doc/guix.texi (DNS Services): Document it.
2018-06-05 20:05:31 +08:00
Ludovic Courtès
838e17d805
gexp: Add 'with-extensions'.
* guix/gexp.scm (<gexp>)[extensions]: New field.
(gexp-attribute): New procedure.
(gexp-modules): Write in terms of 'gexp-attribute'.
(gexp-extensions): New procedure.
(gexp->derivation): Add #:effective-version.
[extension-flags]: New procedure.
Honor extensions of EXP.
(current-imported-extensions): New syntax parameter.
(with-extensions): New macro.
(gexp): Honor CURRENT-IMPORTED-EXTENSIONS.
(compiled-modules): Add #:extensions and honor it.
(load-path-expression): Likewise.
(gexp->script, gexp->file): Honor extensions.
* tests/gexp.scm (%extension-package): New variable.
("gexp-extensions & ungexp")
("gexp-extensions & ungexp-splicing")
("gexp-extensions and literal Scheme object")
("gexp->derivation & with-extensions")
("program-file & with-extensions"): New tests.
* doc/guix.texi (G-Expressions): Document 'with-extensions'.
2018-06-01 15:20:54 +02:00
Rouby Pierre-Antoine
93b83eb31e
services: Add hpcguix-web.
* gnu/service/web.scm (<hpcguix-web-configuration>): New record-type.
  (%hpcguix-web-accounts): New variable.
  (%hpcguix-web-activation,hpcguix-web-shepherd-service,
  hpcguix-web-service-type): New procedures.
* gnu/tests/web.scm (run-hpcguix-web-server-test): New procedure.
  (%hpcguix-web-specs, %hpcguix-web-os, %test-hpcguix-web): New variable.
* doc/guix.texi (Web Services): Add 'hpcguix-web'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-06-01 13:50:26 +02:00
Ricardo Wurmus
ed71cda2ac
doc: Add concept index entry for Docker and guix pack.
* doc/guix.texi (Invoking guix pack): Add concept index entry for Docker.
2018-05-28 17:36:09 +02:00
Ricardo Wurmus
b2817f0fa5
pack: Add support for squashfs images.
* guix/scripts/pack.scm (%formats): Add "squashfs" format.
(guix-pack): Adjust "archiver" dependent on pack-format.
(squashfs-image): New procedure.
* doc/guix.texi (Invoking guix pack): Document it.
2018-05-28 17:36:09 +02:00
Ludovic Courtès
a5acc17a3c
file-systems: Remove 'title' field and add <file-system-label>.
The 'title' field was easily overlooked and was an endless source of
confusion.  Now, the value of the 'device' field is self-contained.

* gnu/system/file-systems.scm (<file-system>): Change constructor name
to '%file-system'.
[title]: Remove.
(<file-system-label>): New record type with printer.
(report-deprecation, device-expression)
(process-file-system-declaration, file-system): New macros.
(file-system-title): New procedure.
(file-system->spec, spec->file-system): Adjust to handle
<file-system-label>.
* gnu/system.scm (bootable-kernel-arguments): Add case for
'file-system-label?'.
(read-boot-parameters): Likewise.
(mapped-device-user): Avoid 'file-system-title'.
(fs->boot-device): Remove.
(operating-system-boot-parameters): Use 'file-system-device' instead of
'fs->boot-device'.
(device->sexp): Add case for 'file-system-label?'.
* gnu/bootloader/grub.scm (grub-root-search): Add case for
'file-system-label?'.
* gnu/system/examples/bare-bones.tmpl,
gnu/system/examples/beaglebone-black.tmpl,
gnu/system/examples/lightweight-desktop.tmpl,
gnu/system/examples/vm-image.tmpl: Remove uses of 'title'.
* gnu/system/vm.scm (virtualized-operating-system): Remove uses of
'file-system-title'.
* guix/scripts/system.scm (check-file-system-availability): Likewise,
and adjust fix-it hint.
(check-initrd-modules)[file-system-/dev]: Likewise.
* gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title'
parameter.
[canonical-title]: Remove.
Match on SPEC's type rather than on CANONICAL-TITLE.
(mount-file-system): Adjust caller.
* gnu/build/linux-boot.scm (boot-system): Interpret ROOT here.
* gnu/services/base.scm (file-system->fstab-entry): Remove use of
'file-system-title'.
* doc/guix.texi (File Systems): Remove documentation of the 'title'
field.  Rewrite documentation of 'device' and document
'file-system-label'.
2018-05-28 13:24:11 +02:00
Efraim Flashner
e9d271ed9a
services: Add Enlightenment desktop service.
* gnu/services/desktop.scm (<enlightenment-desktop-configuration>,
enlightenment-desktop-service-type): New variables.
* doc/guix.texi (Desktop Services): Document the service.
* NEWS: Mention it.
2018-05-20 21:42:32 +03:00
Christopher Baines
6ee3f3dec7
services: cgit: Make project-list permit a file-object.
Instead of having the service manage the list, it's useful to be able to point
this at an existing file, for example, when using cgit together with gitolite.

* gnu/services/cgit.scm (project-list?): New procedure.
(serialize-project-list): Handle file-object values.
(<cgit-configuration>): Change the predicate for project-list to allow lists
and file-objects.
2018-05-18 17:24:39 +01:00
Efraim Flashner
162825f965
daemon: Allow building for armhf-linux on aarch64-linux.
* nix/libstore/build.cc (canBuildLocally): Allow building armhf-linux
builds on aarch64-linux.
(DerivationGoal::runChild) Throw error if attempting to build for
armhf-linux on an unsupported platform.
* doc/guix.texi (Invoking guix build): Document how to build natively
for armhf-linux on aarch64-linux.  Add note that on some aarch64
machines this is unsupported.
2018-05-17 20:37:27 +03:00
Ludovic Courtès
63dbdf80a3
doc: Update 'guix size' example.
* doc/guix.texi (Invoking guix size): Update example.
2018-05-16 11:03:23 +02:00
Ludovic Courtès
2fd345cdfd
doc: Improve 'guix size' documentation.
Suggested by Martin Castillo <castilma@uni-bremen.de>.
Fixes <https://bugs.gnu.org/31456>.

* doc/guix.texi (Invoking guix size): Clarify that 'guix size' looks for
ungrafted packages.  Clarify that it can be passed several package
specifications.
2018-05-16 11:03:23 +02:00
Björn Höfling
5ac7bf56d0
doc: Update documentation of guix lint
* doc/guix.texi (Invoking guix lint): Add cpe-version to example.
(Invoking guix lint): Add example for lint-hidden-cve.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-05-14 23:01:36 +02:00
Pierre-Antoine Rouby
36d619e85d
services: bitlbee: Add plugins.
* doc/guix.texi (Bitlbee Service): Add plugins.
* gnu/services/messaging.scm (<bitlbee-configuration>): Add plugins argument.
  (bitlbee-shepherd-service): Update config file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-05-11 00:15:59 +02:00
Ludovic Courtès
47a60325ca
pack: Add '--relocatable'.
* gnu/packages/aux-files/run-in-namespace.c: New file.
* Makefile.am (AUX_FILES): Add it.
* guix/scripts/pack.scm (<c-compiler>): New record type.
(c-compiler, bootstrap-c-compiler, c-compiler-compiler): New procedures.
(self-contained-tarball): Use
'relative-file-name' for the SOURCE -> TARGET symlink.
(docker-image): Add 'defmod' to please Geiser.
(wrapped-package, map-manifest-entries): New procedures.
(%options, show-help): Add --relocatable.
(guix-pack): Honor it.
2018-05-10 14:53:57 +02:00
Danny Milosavljevic
ad23a3fbab
doc: Document 'android-ndk-build-system'.
* doc/guix.texi (Build Systems): Add 'android-ndk-build-system'.
2018-05-09 19:32:40 +02:00
Tobias Geerinckx-Rice
9b557beab9
doc: Fix typo.
* doc/guix.texi (X Window): Fix ‘xinitr ’ typo.
2018-05-08 01:54:27 +02:00
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
Julien Lepiller
39764ef893
build: Use only one domain for guix-manual.
* Makefile.am (assert-no-store-file-names): Exclude guix-manual.
* po/doc/guix.pot po/doc/contributing.pot: Merge into...
* po/doc/guix-manual.pot: ...this.
* po/doc/guix.fr.po po/doc/contributing.fr.po: Merge into...
* po/doc/guix-manual.fr.po: ...this.
* doc/local.mk: Replace old file names.
* po/doc/local.mk: Replace old file names.
2018-04-29 21:42:14 +02:00
Ludovic Courtès
60912a888d
doc: Add tips for Vim users.
* doc/contributing.texi (Formatting Code): Add a paragraph about Vim.
2018-04-27 18:45:02 +02:00
Ludovic Courtès
06c4778ae2
build: Add silent rules for Texinfo xref translation.
* Makefile.am (AM_V_POXREF, AM_V_POXREF_, AM_V_POXREF_0): New
variables.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use $(AM_V_POXREF).
2018-04-25 23:11:53 +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
Julien Lepiller
bf5c74e713
gnu: doc: Add French documentation.
* doc/contributing.fr.texi: New file.
* doc/guix.fr.texi: New file.
* doc/local.mk (TRANSLATED_INFO): Add them.
(info_TEXINFOS): Add guix.fr.texi.
* po/doc/contributing.fr.po: New file.
* po/doc/guix.fr.po: New file.
* po/doc/local.mk (EXTRA_DIST): Add them.
2018-04-19 21:32:07 +02:00
Julien Lepiller
b9fe8fd662
gnu: doc: Allow documentation to be translated.
* po/doc/contributing.pot: New file.
* po/doc/guix.pot: New file.
* po/doc/local.mk: New file.
* Makefile.am: Include it. Add gettext command. Add silent rules for po4a.
* configure.ac: Look for po4a-translate and po4a-updatepo.
* doc/local.mk: Add rules to generate translated texi files.
(TRANSLATED_INFO): New variable.
(BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it.
* .gitignore: Add generated files.
2018-04-19 21:30:30 +02: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