Commit graph

1701 commits

Author SHA1 Message Date
Ludovic Courtès
da56f10971
guix package: Add 'guix search' alias.
* guix/scripts/search.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* tests/guix-package-aliases.sh: Add test.
* doc/guix.texi (Invoking guix package): Document it and use it in a
couple of examples.
2019-04-29 12:19:24 +02:00
rendaw
9d3053819d
file-systems: Support the 'no-atime' flag.
* guix/build/syscalls.scm (MS_NOATIME): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Support it.
* doc/guix.texi (File Systems): Document it and add cross-references to
the relevant documentation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-04-29 12:19:03 +02:00
Ludovic Courtès
e432ce1b85
doc: Remove traces of "Guix System Distribution".
* doc/guix.texi (Invoking guix package)
(Official Substitute Server, System Configuration): Replace "the Guix
System Distribution" by "Guix System".
2019-04-29 11:17:39 +02:00
Ludovic Courtès
20dbd858ad
doc: Add 'SUBSTITUTE-URL' variable.
* doc/guix.texi (SUBSTITUTE-SERVER): New variable.
(Invoking guix weather): Use it.
2019-04-29 10:54:43 +02:00
Ludovic Courtès
d824cfbabe
guix package: Add 'install', 'remove', and 'upgrade' aliases.
* guix/scripts/install.scm, guix/scripts/remove.scm,
guix/scripts/upgrade.scm, tests/guix-package-aliases.sh: New files.
* Makefile.am (MODULES, SH_TESTS): Add them.
* po/guix/POTFILES.in: Add them.
* guix/scripts/package.scm (guix-package): Split with...
(guix-package*): ... this.  New procedure.
* doc/guix.texi (Invoking guix package): Document them.
(Binary Installation, Application Setup, Package Management)
(Packages with Multiple Outputs, Package Modules)
(X.509 Certificates, Installing Debugging Files): Use 'guix install' in
simple examples.
* etc/completion/bash/guix (_guix_complete): Handle "install", "remove",
and "upgrade".
2019-04-29 10:13:44 +02:00
Ludovic Courtès
0fe1692200
doc: Duplicate recommendation about 'guix-install.sh'.
Since our web site points to "Binary Installation", it's best to have
that note there.

* doc/guix.texi (Binary Installation): Add note about guix-install.sh.
2019-04-28 22:57:07 +02:00
Ludovic Courtès
339586e402
doc: Remove outdated paragraph in "Binary Installation".
This is a followup to e9926f80c6.

* doc/guix.texi (Binary Installation): Remove paragraph about not
removing 'guix' from root's profile.
2019-04-27 19:31:50 +02:00
Ludovic Courtès
68400dfafa
doc: Suggest 1G of RAM for the VM image.
* doc/guix.texi (Running Guix in a VM): Suggest -m 1024.
2019-04-27 15:08:18 +02:00
Ludovic Courtès
ea2acfe98a
doc: Update bit about SSH in the VM.
* doc/guix.texi (Running Guix in a VM): Remove mentions of 'lsh-server';
mention 'openssh-service-type' and add a cross-reference.
* gnu/system/examples/vm-image.tmpl (services): Add a commented-out line
for 'openssh-service-type'.
2019-04-27 15:08:17 +02:00
Ludovic Courtès
05b60752a6
doc: Recommend virtio-blk to access the VM image.
* doc/guix.texi (Running Guix in a VM): Recommend virtio-blk to access
the image.
2019-04-27 15:08:17 +02:00
Julien Lepiller
6cd7b1be7e
gnu: knot: Add configuration fields.
* gnu/services/dns.scm (knot-zone-configuration)[zonefile-load]
[journal-content, max-journal-usage, max-journal-depth, max-zone-size]:
New fields.
(knot-zone-config): Serialize them.
* doc/guix.texi (DNS Services): Document them.
2019-04-27 13:02:31 +02:00
Ludovic Courtès
272db5bcf5
doc: Use ftp.gnu.org for downloads.
From now on, everything will be uploaded to ftp.gnu.org instead of
alpha.gnu.org.

* doc/guix.texi (BASE-URL): Switch to ftp.gnu.org.
2019-04-26 14:19:37 +02:00
Ludovic Courtès
b57dd2006b
doc: Add 'BASE-URL' variable.
* doc/guix.texi (BASE-URL): New variable.
(Binary Installation, USB Stick and DVD Installation)
(Running Guix in a VM): Use it instead of hard-coded URL.
2019-04-26 14:19:36 +02:00
Ludovic Courtès
538b99f31f
system: Provide a new VM image configuration.
* gnu/system/examples/vm-image.tmpl: Rewrite.
* doc/guix.texi (Running Guix in a VM): Adjust accordingly.
2019-04-26 14:19:36 +02:00
Miguel Ángel Arruga Vivas
9ca5ff882e
bootstrap: Break automake dependency on generated files.
* bootstrap: Generate stub files for the manual translations whose
generated files are not included in the VCS.
* doc/contributing.de.texi: Remove file.
* doc/contributing.es.texi: Remove file.
* doc/contributing.fr.texi: Remove file.
* doc/contributing.zh_CN.texi: Remove file.
* doc/guix.de.texi: Remove file.
* doc/guix.es.texi: Remove file.
* doc/guix.fr.texi: Remove file.
* doc/guix.zh_CN.texi: Remove file.
* .gitignore: Add them.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2019-04-26 11:21:32 +02:00
Julien Lepiller
92eb600f8a
gnu: knot-service: Add includes field in configuration.
* gnu/services/dns.scm (knot-configuration): Add includes field.
(verify-knot-configuration): Check includes content.
(knot-config-file): Serialize includes.
* doc/guix.texi (DNS Services): Document it.
2019-04-25 21:44:55 +02:00
Julien Lepiller
b68aff1f05
gnu: certbot: Add support for manual plugin.
* gnu/services/certbot.scm (certificate-configuration): Add challenge,
auth-hook and cleanup-hook fields.
(certbot-command): Use them.
* doc/guix.texi (Certificate Services): Document them.
2019-04-25 19:46:18 +02:00
Julien Lepiller
ad377c3d34
nls: Update 'fr' translation of the manual. 2019-04-24 12:25:01 +02:00
Tobias Geerinckx-Rice
9ca762eb83
doc: Fix build.
* doc/guix.zh_CN.texi: @include version-zh_CN.texi.
2019-04-24 03:42:40 +02:00
Ludovic Courtès
f6beefafd1
doc: Refer to the es and zh_CN translations.
* doc/guix.texi (Top): Mention Simplified Chinese and Spanish.
2019-04-24 00:35:11 +02:00
Ludovic Courtès
de712e5286
doc: Add Simplified Chinese translation.
* doc/local.mk (info_TEXINFOS): Add guix.zh_CN.texi.
(TRANSLATED_INFO): Add guix.zh_CN.texi and contributing.zh_CN.texi.
* po/doc/local.mk (DOC_PO_FILES): Add guix-manual.zh_CN.po.
* doc/contributing.zh_CN.texi, doc/guix.zh_CN.texi: New files.
2019-04-24 00:27:51 +02:00
Ludovic Courtès
3b919e0199
doc: Add generated es.texi files.
* doc/guix.es.texi, doc/contributing.es.texi: New files.
2019-04-24 00:05:34 +02:00
Miguel Ángel Arruga Vivas
6227e1b747
doc: Add Spanish translation.
* doc/local.mk (info_TEXINFOS): Add guix.es.texi.
(TRANSLATED_INFO): Add guix.es.texi and contributing.es.texi.
* po/doc/guix-manual.es.po: New file.
* po/doc/local.mk: Add guix-manual.es.po.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-04-23 23:56:16 +02:00
Ludovic Courtès
95ef8b85b1
services: shepherd: Support one-shot services.
* gnu/services/shepherd.scm (<shepherd-service>)[one-shot?]: New field.
(shepherd-service-file): Pass #:one-shot? to the <service> constructor.
* doc/guix.texi (Shepherd Services): Document it.
2019-04-23 16:38:11 +02:00
Christopher Baines
5582aa8e31
system: Change default kernel-arguments to '("quiet").
This improves the readability of the boot process, especially when using full
disk encryption where you're required to enter the passphrase at a particular
point.

* gnu/system.scm (<operating-system>)[kernel-arguments]: Change the default to
'("quiet").
* doc/guix.texi (operating-system Reference): Document this change.
2019-04-22 22:18:00 +01:00
Ludovic Courtès
c5265a0951
pull: Add '--news'.
Suggested by Tobias Geerinckx-Rice <me@tobias.gr>.

* guix/scripts/pull.scm (%options, show-help): Add '--news'.
(display-profile-news): Add #:current-is-newer? and #:concise?.
Honor them.
(build-and-install): Pass #:concise? #t.
(display-new/upgraded-packages)[concise/max-item-count]: New variable.
Add call to 'display-hint'.
(process-query): Add clause for 'display-news'.
* doc/guix.texi (Invoking guix pull): Add '--news'.
2019-04-22 12:01:32 +02:00
Ludovic Courtès
ea261dea0c
guix build: Accept multiple '-s' options.
* guix/scripts/build.scm (%default-options): Remove 'system'.
(%options) <--system>: Keep previous occurrences of 'system in RESULT.
(options->derivations)[system]: Remove.
[systems, things-to-build]: New variables.
[compute-derivation]: New procedure.
Iterate on all of SYSTEMS to compute the derivations of THINGS-TO-BUILD.
* tests/guix-build.sh: Add test for one and multiple '-s' flags.
* doc/guix.texi (Additional Build Options): Document this behavior.
2019-04-19 17:46:40 +02:00
Ludovic Courtès
c04052e4df
nls: Update 'de' translation of the manual. 2019-04-17 14:06:30 +02:00
Ludovic Courtès
72f749dcb8
pull: '--url', '--commit', and '--branch' apply to the 'guix' channel.
Suggested by pkill9 <pkill9@runbox.com>.

* guix/scripts/pull.scm (channel-list): Apply REF and URL to the 'guix'
channel.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
2019-04-17 13:56:40 +02:00
Ludovic Courtès
16cdba76e4
doc: Replace misuses of @var by @code.
* doc/guix.texi (Hardware Considerations, Service Types and Services)
(Service Reference, Shepherd Services, Security Updates): Use @code
instead of @var for things that are not meta-syntactic variables.
2019-04-15 17:03:33 +02:00
Ludovic Courtès
cbd059d101
doc: Document 'this-package' and 'this-operating-system'.
* doc/guix.texi (package Reference): Document 'this-package'.
(operating-system Reference): Document 'this-operating-system'.
2019-04-15 12:24:14 +02:00
Ludovic Courtès
3f03a198b2
system: Add 'label' field to <operating-system>.
* gnu/system.scm (<operating-system>)[label]: New field.
(operating-system-default-label): New procedure.
(operating-system-boot-parameters): Use it instead of
'kernel->boot-label'.
* doc/guix.texi (operating-system Reference): Document it.
2019-04-15 12:24:14 +02:00
Tobias Geerinckx-Rice
d5752f68ef
doc: Fix location of fprintd-service-type.
* doc/guix.texi (Miscellaneous Services): Correct module name.
2019-04-14 20:15:27 +02:00
Danny Milosavljevic
a0b419bc64
doc: Fix typo.
Follow-up to 96ef856528.

* doc/guix.texi (Limitations): Fix typo.
2019-04-14 20:05:45 +02:00
Ludovic Courtès
96ef856528
doc: Strip the "Limitations" section.
* doc/guix.texi (Limitations): Strip the paragraph about not being
production-ready.  Remove the number of packages.
2019-04-12 17:56:23 +02:00
Danny Milosavljevic
ce6312999f
Add (guix build-system linux-module).
* guix/build/linux-module-build-system.scm: New file.
* guix/build-system/linux-module.scm: New file.
* doc/guix.texi (Build Systems): Document it.
* Makefile.am (MODULES): Add them.
2019-04-11 17:50:18 +02:00
Tobias Geerinckx-Rice
35934ff06e
doc: Fix typo.
* doc/guix.texi (Bootloader Configuration): Fix ‘fow now’.
2019-04-11 05:32:49 +02:00
Ludovic Courtès
96b8c2e6e2
guix gc: Add '--delete-generations'.
* guix/scripts/gc.scm (show-help, %options): Add
'--delete-generations'.  Change '--delete' shorthand to '-D'.
(delete-old-generations): New procedure.
(guix-gc)[delete-generations]: New procedure.
Call it when ACTION is 'collect-garbage' and OPTS contains
'delete-generations.
* doc/guix.texi (Invoking guix gc): Document it.
2019-04-10 17:09:47 +02:00
Ludovic Courtès
bacf980c76
guix gc: Add '--list-roots'.
* guix/scripts/gc.scm (show-help, %options): Add '--list-roots'.
(guix-gc)[list-roots]: New procedure.
Handle '--list-roots'.
* tests/guix-gc.sh: Test it.
* doc/guix.texi (Invoking guix gc): Document it.
2019-04-10 17:09:47 +02:00
Ludovic Courtès
b596c5fbc1
doc: Fix syntax of cross-manual references.
This is a followup to 412e6396bb.

* doc/guix.texi (Mail Services): Fix syntax of cross-references to the
Mailutils manual.
2019-04-07 11:39:40 +02:00
宋文武
412e6396bb
services: Add 'imap4d-service-type'.
* gnu/services/mail.scm (<imap4d-configuration>): New record type.
(imap4d-shepherd-service): New procedure.
(%default-imap4d-config-file, imap4d-service-type): New variables.
* gnu/services/mail.scm (Mail Services): Document it.
2019-04-07 14:18:01 +08:00
Ludovic Courtès
3a665637af
services: console-keymap: Deprecate.
* gnu/services/base.scm (console-keymap-service): Mark as deprecated.
* doc/guix.texi (Base Services): Remove its documentation.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
a31af2beee
doc: Explain how to change the keyboard layout at run time.
* doc/guix.texi (Keyboard Layout): Mention GNOME's "Region & Language",
setxkbmap, and loadkeys.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
305a732a0a
services: xorg: Add 'set-xorg-configuration'.
* gnu/services/xorg.scm (gdm-service-type)[compose, extend]: New fields.
(set-xorg-configuration): New procedure.
* doc/guix.texi (Keyboard Layout): Use it.
(X Window): Document it.
* gnu/system/examples/desktop.tmpl: Add 'keyboard-layout' fields.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
1ccc0f807d
environment: '-C' creates namespaces where the user is not root.
* guix/scripts/environment.scm (launch-environment/container): Add UID
and GID.  Use them in PASSWD and GROUPS.  Pass them as #:guest-uid and
 #:guest-gid to 'call-with-container'.
* tests/guix-environment-container.sh: Test the inner UID.
In '--user' test, replace hard-coded 0 with 1000.
* doc/guix.texi (Invoking guix environment): Adjust accordingly.
2019-04-02 18:15:37 +02:00
Ludovic Courtès
631a6e6377
doc: Document 'gdm-service-type'.
* doc/guix.texi (X Window): Document 'gdm-service-type' and
'gdm-configuration'.  Take description of '.desktop' files from the
'slim-service-type' description.
* gnu/services/xorg.scm (gdm-service): Remove outdated comment.
2019-03-31 23:32:46 +02:00
Ludovic Courtès
a7646bc5e1
packages: Remove 'self-native-input?' field.
This field has become unnecessary with the addition of 'this-package'.

* guix/packages.scm (<package>)[self-native-input?]: Remove.
(package->bag): Adjust accordingly.
* doc/guix.texi (package Reference): Remove 'self-native-input?'.
2019-03-30 15:19:32 +01:00
Ludovic Courtès
46fc7cafcf
doc: Fix invalid uses of @ref.
* doc/guix.texi (Invoking guix pull): Use @xref instead of @ref at the
beginning of sentences.
2019-03-29 15:35:54 +01:00
Ludovic Courtès
357b287b8f
services: desktop: Switch to GDM.
* gnu/services/desktop.scm (%desktop-services): Replace
SLIM-SERVICE-TYPE instance with an instance of GDM-SERVICE-TYPE.
* doc/guix.texi (Keyboard Layout): Change example to mention
GDM-SERVICE-TYPE.
(X Window): Mention GDM.
(Desktop Services): Adjust references to SLiM.
2019-03-28 23:06:59 +01:00
Ludovic Courtès
391e0d65d7
services: Deprecate 'xfce-desktop-service'.
* gnu/services/desktop.scm (xfce-desktop-service-type)[default-value]
[description]: New fields.
(xfce-desktop-service): Deprecate.
* gnu/system/examples/desktop.tmpl: Use the (service …) form.
* gnu/installer/services.scm (%desktop-environments): Add TODO comment.
* doc/guix.texi (Desktop Services): Adjust accordingly, and fix spelling
of "Xfce" throughout.
2019-03-27 11:54:06 +01:00
Ludovic Courtès
ee05cc7fe3
services: Deprecate 'gnome-desktop-service'.
* gnu/services/desktop.scm (gnome-desktop-service-type)[default-value]:
New field.
(gnome-desktop-service): Deprecate.
* gnu/installer/services.scm (%desktop-environments): Use the (service …)
form for GNOME.
* gnu/system/examples/desktop.tmpl: Likewise.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-03-27 11:54:06 +01:00
Ludovic Courtès
69cae3d335
system: Add 'essential-services' field to <operating-system>.
* gnu/system.scm (<operating-system>)[essential-services]: New field.
(operating-system-directory-base-entries): Remove #:container? keyword
and keep only the not-container branch.
(essential-services): Likewise.
(operating-system-services): Likewise, and call
'operating-system-essential-services' instead of 'essential-services'.
(operating-system-activation-script): Remove #:container?.
(operating-system-boot-script): Likewise.
(operating-system-derivation): Likewise.
* gnu/system/linux-container.scm (container-essential-services): New procedure.
(containerized-operating-system): Use it and set the
'essential-services' field.
(container-script): Remove call to 'operating-system-derivation'.
* gnu/system/vm.scm (system-docker-image): Likewise.
* doc/guix.texi (operating-system Reference): Document 'essential-services'.
2019-03-25 23:37:06 +01:00
Ludovic Courtès
cf848cc0a1
accounts: Add default value for the 'home-directory' field of <user-account>.
* gnu/system/accounts.scm (<user-account>)[home-directory]: Mark as
thunked and add a default value.
(default-home-directory): New procedure.
* doc/guix.texi (User Accounts): Remove 'home-directory' from example.
* gnu/system/examples/bare-bones.tmpl: Likewise.
* gnu/system/examples/beaglebone-black.tmpl: Likewise.
* gnu/system/examples/desktop.tmpl: Likewise.
* gnu/system/examples/docker-image.tmpl: Likewise.
* gnu/system/examples/lightweight-desktop.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, %encrypted-root-os, %btrfs-root-os): Likewise.
* tests/accounts.scm ("allocate-passwd")
("allocate-passwd with previous state"): Likewise.
2019-03-25 23:37:06 +01:00
Ludovic Courtès
2bbb4ead77
doc: Document keyboard layout.
* doc/guix.texi (Keyboard Layout): New node.
(Bootloader Configuration): Remove examples and refer to it.
(X Window): Add cross-reference.
2019-03-24 23:06:12 +01:00
Ludovic Courtès
ae7a316b9d
system: Initialize console keyboard layout in the initrd.
Partially fixes <https://bugs.gnu.org/25453>.

* gnu/system.scm (<operating-system>)[keyboard-layout]: New field.
(operating-system-initrd-file): Pass #:keyboard-layout to MAKE-INITRD.
* gnu/system/linux-initrd.scm (raw-initrd): Add #:keyboard-layout.
Pass #:keymap-file to 'boot-system'.
(base-initrd): Add #:keyboard-layout.
[helper-packages]: Add LOADKEYS-STATIC when KEYBOARD-LAYOUT is true.
Pass #:keyboard-layout to 'raw-initrd'.
* gnu/build/linux-boot.scm (boot-system): Add #:keymap-file and honor
it.
* doc/guix.texi (operating-system Reference): Document the
'keyboard-layout' field.
(Initial RAM Disk): Update 'raw-initrd' and 'base-initrd' documentation.
2019-03-24 23:06:12 +01:00
Ludovic Courtès
598757e038
services: xorg: Add a 'keyboard-layout' field in <xorg-configuration>.
* gnu/services/xorg.scm (<xorg-configuration>)[keyboard-layout]: New
field.
(xorg-configuration->file)[input-class-section]: New procedure.
Use it.
* doc/guix.texi (X Window): Document 'keyboard-layout' field.

Co-authored-by: nee <nee-git@hidamari.blue>
2019-03-24 23:06:11 +01:00
Ludovic Courtès
554b860739
services: sddm, slim, gdm: Take an <xorg-configuration> record.
* gnu/services/sddm.scm (<sddm-configuration>)[xorg-server-path]
[xserver-arguments]: Remove.
[xorg-configuration]: New field.
(sddm-configuration-file): Adjust accordingly.
* gnu/services/xorg.scm (<slim-configuration>)[startx]: Remove.
[xorg-configuration]: New field.
(slim-shepherd-service, slim-service): Adjust accordingly.
(<gdm-configuration>)[x-server]: Remove.
[xorg-configuration]: New field.
(gdm-shepherd-service, gdm-service): Adjust accordingly.
* doc/guix.texi (X Window): Update accordingly.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
b2e564515a
services: xorg: Define an <xorg-configuration> record type.
* gnu/services/xorg.scm (<xorg-configuration>): New record type.
(xorg-configuration-file): Remove.
(xorg-wrapper): Remove #:modules, #:configuration-file, and
 #:xorg-server; add optional 'config' parameter instead.  Adjust
accordingly.
(xorg-start-command): Likewise.
* doc/guix.texi (X Window): Document 'xorg-configuration'.  Update
'xorg-start-command' documentation.  Remove 'xorg-configuration-file'
documentation.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
956607e340
services: xorg: Remove unused #:guile parameter.
* gnu/services/xorg.scm (xorg-wrapper): Remove #:guile, which was unused.
(xorg-start-command): Likewise.
(xinitrc): Likewise.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
8d058e7b1b
bootloader: Add a 'keyboard-layout' field.
* gnu/bootloader/grub.scm (keyboard-layout-file): New procedure.
(grub-configuration-file)[keyboard-layout-file]: New variable.
[builder]: Use it.
* gnu/bootloader.scm (<bootloader-configuration>)[keyboard-layout]: New
field.
* doc/guix.texi (Bootloader Configuration): Document it.

Co-authored-by: nee <nee-git@hidamari.blue>
2019-03-24 23:06:11 +01:00
Efraim Flashner
b28e4e3c0d
doc: Remove instances of powerpc-linux being a supported Guix architecture.
* doc/contributing.texi (Submitting Patches): Remove powerpc-linux
examples.
* doc/guix.texi (Virtualization Services): Replace powerpc-linux example
with mips64el-linux.
2019-03-24 19:42:24 +02:00
Julien Lepiller
78b3748c1c
guix: dune-build-system: Add a package parameter.
* guix/build-system/dune.scm: Add a package parameter.
* guix/build/dune.scm (build, test, install): Use it.
* doc/guix.texi: Document it.
2019-03-23 22:58:52 +01:00
Efraim Flashner
4e4c311465
build: Add rakudo-build-system.
* guix/build-system/rakudo.scm,
guix/build/rakudo-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build System): Document it.
2019-03-23 22:26:48 +02:00
Ludovic Courtès
2b81eac01e
graph: Add the 'reverse-bag' graph.
Suggested by Julien Lepiller.

* guix/scripts/graph.scm (%reverse-bag-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("reverse bag DAG"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
2019-03-23 18:15:36 +01:00
Ricardo Wurmus
c16423f143
services: Add nslcd-service-type.
* gnu/services/authentication.scm (nslcd-service-type, nslcd-configuration,
%nslcd-accounts): New variables.
(uglify-field-name, value->string, serialize-field, serialize-list,
ssl-option?, tls-reqcert-option?, deref-option?,
comma-separated-list-of-strings?, serialize-ignore-users-option, log-option?,
serialize-log-option, valid-map?, scope-option?, serialize-scope-option,
map-entry?, list-of-map-entries?, filter-entry?, list-of-filter-entries?,
serialize-filter-entry, serialize-list-of-filter-entries, serialize-map-entry,
serialize-list-of-map-entries, nslcd-config-file, nslcd-etc-service,
nslcd-shepherd-service, pam-ldap-pam-services, pam-ldap-pam-service,
generate-nslcd-documentation): New procedures.
* gnu/tests/ldap.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (LDAP Services): Document it.
2019-03-20 20:31:15 +01:00
Arun Isaac
ae031d453c
import: Add Launchpad updater.
* guix/import/launchpad.scm: New file.
* Makefile.am (MODULES): Register it.
* doc/guix.texi (Invoking guix refresh): Mention the Launchpad updater.
2019-03-18 20:55:55 +05:30
ng0
47956fa0c2
Correct name and email address for ng0.
* .mailmap, Makefile.am, doc/guix.de.texi, doc/guix.fr.texi,
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/elixir.scm,
gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.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-xyz.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-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.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:
Correct name and email address for ng0.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-03-18 15:05:08 +01:00
Ludovic Courtès
62b86d66fd
doc: Expound on inputattach service.
* doc/guix.texi (Miscellaneous Services): Expound documentation of
inputattach service.
2019-03-18 10:51:06 +01:00
Tim Gesthuizen
97ab799afe
gnu: Add inputattach service.
Add a service that runs inputattach as a daemon to translate events from
serial ports.

* gnu/services/desktop.scm (<inputattach-configuration>): New record type.
* gnu/services/desktop.scm (inputattach-service-type): New service type.
* doc/guix.texi (Miscellaneous Services): Add inputattach Service
  subsubheading.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-03-18 10:51:06 +01:00
Ludovic Courtès
14328b81a2
guix build: Transformation options match packages by spec.
This allows us to combine several transformations on a given package, in
particular '--with-git-url' and '--with-branch'.

Previously transformations would ignore each other since they would all
take (specification->package SOURCE) as their replacement source,
compare it by identity, which doesn't work if a previous transformation
has already changed SOURCE.

* guix/scripts/build.scm (evaluate-replacement-specs): Adjust to produce
an alist as expected by 'package-input-rewriting/spec', with a package
spec as the first element of each pair.
(evaluate-git-replacement-specs): Likewise.
(transform-package-inputs):  Adjust accordingly and use
'package-input-rewriting/spec'.
(transform-package-inputs/graft): Likewise.
(transform-package-source-branch, transform-package-source-commit): Use
'package-input-rewriting/spec'.
(transform-package-source-git-url): Likewise, and adjust the
REPLACEMENTS alist accordingly.
(options->transformation): Iterate over OPTS instead of over
%TRANSFORMATIONS.  Invoke transformations one by one.
* tests/scripts-build.scm ("options->transformation, with-input"):
Adjust test to compare packages by name rather than by identity.
("options->transformation, with-git-url + with-branch"): New test.
2019-03-17 22:55:01 +01:00
Ludovic Courtès
f258d88628
packages: Add 'package-input-rewriting/spec'.
* guix/packages.scm (package-input-rewriting/spec): New procedure.
* tests/packages.scm ("package-input-rewriting/spec")
("package-input-rewriting/spec, partial match"): New tests.
* doc/guix.texi (Defining Packages): Document it.
2019-03-17 22:55:01 +01:00
Ludovic Courtès
880916ac52
guix build: Add '--with-git-url'.
* guix/scripts/build.scm (%not-equal): New variable.
(evaluate-git-replacement-specs): Use it instead of local variable
'not-equal'.
(transform-package-source-git-url): New procedure.
(%transformations): Add 'with-git-url'.
(%transformation-options, show-transformation-options-help): Add
'--with-git-url'.
* tests/scripts-build.scm ("options->transformation, with-git-url"):
New test.
2019-03-17 22:55:01 +01:00
nixo
c71b7b5b37
services: mpd: add more configuration options
* gnu/services/audio.scm (<mpd-configuration>): Add 'db-file', 'state-file'
  and 'sticker-file' fields.
* doc/guix.texi (Music Player Daemon): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-03-15 23:27:59 +01:00
Ludovic Courtès
99aec37a78
pack: "-RR" produces PRoot-enabled relocatable binaries.
* gnu/packages/aux-files/run-in-namespace.c (exec_with_proot): New
function.
(main): When 'clone' fails, call 'rm_rf'.
[PROOT_PROGRAM]: When 'clone' fails, call 'exec_with_proot'.
* guix/scripts/pack.scm (wrapped-package): Add #:proot?.
[proot]: New procedure.
[build]: Compile with -DPROOT_PROGRAM when PROOT? is true.
* guix/scripts/pack.scm (%options): Set the 'relocatable?' value to
'proot when "-R" is passed several times.
(guix-pack): Pass #:proot? to 'wrapped-package'.
* tests/guix-pack-relocatable.sh: Use "-RR" on Intel systems that lack
user namespace support.
* doc/guix.texi (Invoking guix pack): Document -RR.
2019-03-15 23:27:59 +01:00
Leo Famulari
e3900a4d64
build-system/go: Build with a filesystem union of Go dependencies.
This basically changes (guix build-system go) so that instead of looking
up its dependencies in a list of directories in $GOPATH, all the
Go dependencies are symlinked into a single directory.

Fixes <https://bugs.gnu.org/33620>.

* guix/build/go-build-system.scm (setup-go-environment): New variable.
(setup-environment, install-source): Remove variables.
(unpack): Unpack the source relative to $GOPATH.
(install): Do not install the compiled objects in the 'pkg' directory.
Install the source code in this phase, and only install the source of
the package named by IMPORT-PATH.
* doc/guix.texi (Build Systems): Adjust accordingly.
* gnu/packages/docker.scm (docker): Import (guix build union) on the build side
and adjust to build phase name changes in (guix build-system go).
* gnu/packages/shellutils.scm (direnv): Likewise.
* gnu/packages/databases.scm (mongo-tools)[arguments]:
Set '#:install-source #f'.
* gnu/packages/music.scm (demlo)[arguments]: Move the 'install-scripts'
phase after the 'install' phase.
2019-03-14 15:34:26 -04:00
Ludovic Courtès
e1c15e8b8e
doc: Document the graphical installer some more.
* doc/guix.texi (Preparing for Installation): Rewrite to specify the two
installation modes.
(Guided Graphical Installation): New node.
(Manual Installation): New node, with the former sections.
(After System Installation): New node.
* doc/images/installer-network.png, doc/images/installer-partitions.png,
doc/images/installer-resume.png: New files.
* doc/local.mk (dist_infoimage_DATA): Add them.
2019-03-13 23:12:43 +01:00
Ludovic Courtès
59e8044588
Remove traces of "GuixSD".
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove
mentions of "GuixSD".
* gnu/bootloader/grub.scm (install-grub-efi): Likewise.
* gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to
"Guix_image".
(initialize-hard-disk): Search for the "Guix_image" label.
* gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD".
* gnu/installer/newt/welcome.scm (run-welcome-page): Likewise.
* gnu/packages/audio.scm (supercollider)[description]: Likewise.
* gnu/packages/curl.scm (curl): Likewise.
* gnu/packages/emacs.scm (emacs): Likewise.
* gnu/packages/gnome.scm (network-manager): Likewise.
* gnu/packages/julia.scm (julia): Likewise.
* gnu/packages/linux.scm (alsa-plugins): Likewise.
(powertop, wireless-regdb): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/polkit.scm (polkit): Likewise.
* gnu/packages/tex.scm (texlive-bin): Likewise.
* gnu/services/base.scm (file-systems->fstab): Likewise.
* gnu/services/cups.scm (%cups-activation): Likewise.
* gnu/services/mail.scm (%dovecot-activation): Likewise.
* gnu/services/messaging.scm (prosody-configuration)[log]: Likewise.
* gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise.
* gnu/system/install.scm (installation-os)[file-systems]: Change root
file system label to "Guix_image".
* gnu/system/mapped-devices.scm (check-device-initrd-modules):
Remove "GuixSD".
* gnu/system/vm.scm (system-docker-image): Likewise.
(system-disk-image)[root-label]: Change to "Guix_image".
* gnu/tests/install.scm (run-install): Remove "GuixSD".
* guix/modules.scm (guix-module-name?): Likewise.
* nix/libstore/optimise-store.cc: Likewise.
2019-03-13 23:12:43 +01:00
Ludovic Courtès
13f62aef2d
maint: Change Guix System file names from guixsd-*.
* Makefile.am (GUIXSD_SUPPORTED_SYSTEMS): Rename to...
(GUIX_SYSTEM_SUPPORTED_SYSTEMS): ... this.
(GUIXSD_VM_SYSTEMS): Rename to...
(GUIX_SYSTEM_VM_SYSTEMS): ... this.
(GUIXSD_IMAGE_BASE): Rename to...
(GUIX_SYSTEM_IMAGE_BASE): ... this.  Change "guixsd-" to "guix-system-".
(GUIXSD_VM_IMAGE_BASE): Rename to...
(GUIX_SYSTEM_VM_IMAGE_BASE): ... this.  Change "guixsd-" to
"guix-system-".
(release): Adjust accordingly.
* doc/guix.texi (USB Stick and DVD Installation)
(Installing Guix in a VM, Invoking guix system)
(Running Guix in a VM): Adjust file names accordingly.
2019-03-13 23:12:43 +01:00
Julien Lepiller
61ce2e77ff
nls: Update 'de' translation of the manual. 2019-03-12 18:57:00 +01:00
Ludovic Courtès
082c648d28
services: mate-desktop: Deprecate the 'mate-desktop-service' procedure.
* gnu/services/desktop.scm (mate-desktop-service): Deprecate.
* doc/guix.texi (Desktop Services): Document 'mate-desktop-service-type'
and 'mate-desktop-configuration'.  Fix spelling of "Enlightenment".
2019-03-11 23:12:26 +01:00
Ludovic Courtès
910aaa3b86
doc: Document references.
Suggested by "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>.
Fixes <https://bugs.gnu.org/34574>.

* doc/guix.texi (Derivations): Document references.
2019-03-08 12:31:37 +01:00
Ludovic Courtès
d40ec4a0d0
pack: Add '--save-provenance'.
* guix/scripts/pack.scm (show-help, %options): Add '--save-provenance'.
(guix-pack)[manifest-from-args]: Honor it.
* doc/guix.texi (Invoking guix pack): Document it.
2019-03-07 00:00:18 +01:00
Ludovic Courtès
dca5821958
environment: Rename '--inherit' to '--preserve'.
Suggested by Eric Bavier and Ricardo Wurmus.

* guix/scripts/environment.scm (show-help, %options): Emit a deprecation
warning for "--inherit" and add -E/--preserve.
* tests/guix-environment.sh: Adjust accordingly.
* doc/guix.texi (Invoking guix environment): Update accordingly.
2019-03-04 15:22:59 +01:00
Ludovic Courtès
c483c5c82c
doc: Better explain the 'password' field of <user-account>.
* doc/guix.texi (User Accounts): Provide an example use of 'crypt', and
mention the security implications.
2019-03-04 15:22:58 +01:00
Julien Lepiller
15f1bff4b6
nls: Update 'fr' translation of the manual. 2019-03-01 21:52:26 +01:00
Tobias Geerinckx-Rice
98808c8aed
doc: Fix typo.
* doc/guix.texi (Proceeding with the Installation): Fix typo.
2019-02-19 13:29:08 +01:00
Jan Nieuwenhuizen
24f11b06bb
services: xorg: Enable override of xserver-arguments.
* gnu/services/xorg.scm (xorg-start-command): Add parameter #:xserver-arguments.
* doc/guix.texi (X Window): Document it.
2019-02-17 08:48:49 +01:00
Ludovic Courtès
7af417502c
doc: '--inherit' option can be repeated.
* doc/guix.texi (Invoking guix environment): Mention that '--inherit'
can be repeated.
2019-02-17 00:04:56 +01:00
Christopher Baines
8b9a7b26c2
services: Improve the upower-service-type.
Add a description and default value. Switch the documentation to mention the
service-type and the configuration record, rather than the upower-service
procedure.

* gnu/services/desktop.scm (upower-service-type)[description, default-value]:
Define these fields.
(%desktop-services): Change (upower-service) to (service upower-service-type).
* doc/guix.texi (Desktop Services): Update the upower service documentation.
2019-02-16 22:05:15 +00:00
Ludovic Courtès
e6e599fa01
environment: Add '--inherit'.
* guix/scripts/environment.scm (purify-environment): Add 'white-list'
parameter and honor it.
(create-environment): Add #:white-list parameter and honor it.
(launch-environment): Likewise.
(launch-environment/fork): Likewise.
(show-help, %options): Add '--inherit'.
(guix-environment): Define 'white-list' and pass it to
'launch-environment/fork'.
* tests/guix-environment.sh: Test '--inherit'.
* doc/guix.texi (Invoking guix environment): Document it.
2019-02-16 01:00:08 +01:00
Ludovic Courtès
d423d6892a
doc: Add a "Development" chapter.
* doc/guix.texi (Managing Software the Guix Way): Add reference to the
"Development" section.
(Invoking guix environment, Invoking guix pack): Move to...
(Development): ... here.  New node.
2019-02-13 16:19:54 +01:00
Ludovic Courtès
499b166d1c
guix system: Add 'delete-generations'.
* guix/scripts/package.scm (delete-matching-generations): Export.
* guix/scripts/system.scm (show-help): Add 'delete-generations'.
(process-command): Honor it.
(guix-system): Support it.
* doc/guix.texi (Invoking guix system): Document it.
2019-02-13 16:19:54 +01:00
Chris Marusich
b0a372637f
doc: Clarify channel file structure.
Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* doc/guix.texi (Channels): Clarify how a channel author should structure the
files in their channel's Git repository.
2019-02-12 21:39:38 -08:00
Ludovic Courtès
50a93adc05
Merge branch 'staging' 2019-02-09 15:14:59 +01:00
Ludovic Courtès
024a6bfba9
guix build: '--with-branch' & co. fetch submodules.
* guix/scripts/build.scm (transform-package-source-branch)[replace]: Add
'recursive?' field to the new package.
2019-02-08 10:41:13 +01:00
Ludovic Courtès
9c6124f829
doc: Mention flag to get an ISO image.
* doc/guix.texi (Building the Installation Image): Add
'--file-system-type=iso9660'.
2019-02-07 15:46:45 +01:00
Danny Milosavljevic
89339a35bd
doc: Document how to enable qemu binfmt service and how to use it.
* doc/contributing.texi (Submitting Patches): Document how to enable qemu
binfmt service and how to use it.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2019-02-04 17:56:28 +01:00
Ludovic Courtès
f73ab814a5
doc: Show how to install Emacs, Guile, and Geiser.
* doc/contributing.texi (The Perfect Setup): Show "guix package -i"
command line.
2019-02-04 00:03:30 +01:00
Tobias Geerinckx-Rice
2049cbb326
doc: Update left-over references to lsh.
* doc/guix.texi (Using the Configuration System, Defining Services):
Refer to OpenSSH instead of lsh.
2019-02-01 17:39:51 +01:00
Marius Bakke
0747328e31
Merge branch 'master' into staging 2019-01-31 23:32:56 +01:00