Andy Wingo
d8c18af834
gnu: Add dovecot service
...
* gnu/services/mail.scm: New file.
(&dovecot-configuration-error, dovecot-configuration-error?)
(dovecot-service, dovecot-configuration, dict-configuration)
(passdb-configuration, userdb-configuration)
(unix-listener-configuration, fifo-listener-configuration)
(inet-listener-configuration, service-configuration)
(protocol-configuration, plugin-configuration, mailbox-configuration)
(namespace-configuration, opaque-dovecot-configuration): New public
variables.
* gnu-system.am (GNU_SYSTEM_MODULES): Add (gnu services mail).
* doc/guix.texi (Mail Services): New node.
2015-12-18 09:24:27 +01:00
Ludovic Courtès
e0508b6bf7
doc: Give another example use of 'propagated-inputs'.
...
Suggested by Leo Famulari <leo@famulari.name>.
* doc/guix.texi (package Reference): Explain 'propagated-inputs' for
non-C languages.
2015-12-15 13:43:27 +01:00
Ludovic Courtès
9d3994f700
gexp: 'local-file' resolves relative file names.
...
* guix/gexp.scm (<local-file>): Rename constructor to '%%local-file'.
Add 'absolute' field.
(%local-file, extract-directory, absolute-file-name): New procedures.
(current-source-directory): New macro.
(local-file): Adjust call to '%local-file'.
(local-file-absolute-file-name): New procedure.
(local-file-compiler): Force the 'absolute' field.
* tests/guix-system.sh: Test whether 'local-file' canonicalization
works.
* doc/guix.texi (G-Expressions): Adjust.
2015-12-14 19:57:42 +01:00
Ludovic Courtès
ecf84b7c48
daemon: Add '--rounds'.
...
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_BUILD_ROUNDS): New macro.
(options): Add --rounds.
(parse_opt): Honor it.
* doc/guix.texi (Invoking guix-daemon): Document it.
2015-12-13 19:20:01 +01:00
Ludovic Courtès
70650c684a
doc: Reword description of 'inputs' & co.
...
* doc/guix.texi (package Reference): Reword explanation of 'inputs',
'native-inputs', and 'propagated-inputs'. Add example.
2015-12-13 15:20:44 +01:00
Ludovic Courtès
f7e4ae7f45
doc: Fix typo in "Setuid Programs".
...
* doc/guix.texi (Setuid Programs): Remove extra 's'.
2015-12-13 15:20:44 +01:00
Alex Sassmannshausen
dcb7119a6d
doc: rephrase code of conduct.
...
* doc/contributing.texi (Contributing): Rephrase 'code of conduct'
section.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09 22:18:47 +01:00
Ludovic Courtès
e15fcdd149
Add "Contributor Covenant".
...
* CODE-OF-CONDUCT: New file, adapted from
<http://contributor-covenant.org/version/1/3/0/code_of_conduct.txt >.
* doc/contributing.texi (Contributing): Mention it.
* Makefile.am (EXTRA_DIST): Add it.
2015-12-09 14:29:41 +01:00
Eelco Dolstra
cb9601029e
daemon: Use deterministic $TMPDIR in chroot.
...
Rather than using $<host-TMPDIR>/nix-build-<drvname>-<number>, the
temporary directory is now always /tmp/nix-build-<drvname>-0. This
improves bitwise-exact reproducibility for builds that store $TMPDIR
in their build output. (Of course, those should still be fixed...)
* nix/libstore/build.cc (DerivationGoal)[tmpDirInSandbox]: New field.
(DerivationGoal::startBuilder): Initialize 'useChroot' earlier. Compute
'tmpDirInSandbox', and use it when populating 'dirsInChroot'.
* doc/guix.texi (Build Environment Setup): Document it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09 14:29:41 +01:00
Ludovic Courtès
a8d65643fb
guix build: Add '--check'.
...
* guix/derivations.scm (build-derivations): Add optional 'mode'
parameter.
* guix/scripts/build.scm (%default-options): Add 'build-mode'.
(show-help, %options): Add '--check'.
(guix-build): Honor 'build-mode' key of OPTS. Pass it to
'show-what-to-build' and 'build-derivations'.
* doc/guix.texi (Invoking guix build): Document it.
(Substitutes): Mention it.
2015-12-09 14:29:41 +01:00
Ludovic Courtès
5b74fe065b
guix build: Add '--rounds'.
...
* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --rounds.
(set-build-options-from-command-line): Honor it.
* doc/guix.texi (Invoking guix build): Document it.
* doc/contributing.texi (Submitting Patches): Mention it.
2015-12-08 23:58:12 +01:00
Ludovic Courtès
e80c0f85ba
gnu-maintenance: Add GNOME updater.
...
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Remove glib.
(false-if-ftp-error): New macro.
(latest-release*): Use it.
(non-emacs-gnu-package?): Rename to...
(pure-gnu-package?): ... this. Add call to 'gnome-package?'.
(%gnu-updater): Adjust accordingly.
(gnome-package?, latest-gnome-release): New procedures.
(%gnome-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %GNOME-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention it.
2015-12-07 23:32:01 +01:00
Ludovic Courtès
56b6befb50
doc: 'guix environment --container' does not create '/env'.
...
* doc/guix.texi (Invoking guix environment): Remove outdated mention of
'/env' for '--container'.
2015-12-07 23:32:01 +01:00
Ludovic Courtès
f6c9fb1b38
doc: Mention 'specification->package'.
...
Suggested by Florian Paul Schmidt <mista.tapas@gmx.net>.
* doc/guix.texi (Using the Configuration System): Mention
'specification->package'.
2015-11-28 15:28:44 +01:00
Ludovic Courtès
6629099a63
services: tor: Store private data under /var/lib/tor.
...
* gnu/services/networking.scm (tor-configuration->torrc): Add
'DataDirectory' clause. Change 'HiddenServiceDir' to
/var/lib/tor/hidden-services/NAME.
(tor-hidden-service-activation): Create /var/lib/tor.
(tor-hidden-service): Adjust docstring.
* doc/guix.texi (Networking Services): Adjust accordingly.
2015-11-27 23:29:51 +01:00
Ludovic Courtès
6331bde73f
services: Add 'tor-hidden-service'.
...
* gnu/services/networking.scm (<tor-configuration>, <hidden-service>):
New record types.
(tor-configuration->torrc): New procedure.
(tor-dmd-service): Use it.
(tor-hidden-service-activation): New procedure.
(tor-service-type)[extensions]: Extend ACTIVATION-SERVICE-TYPE.
[compose, extend]: New fields.
(tor-service): Use 'tor-configuration'.
(tor-hidden-service-type): New variable.
(tor-hidden-service): New procedure.
2015-11-27 23:04:49 +01:00
Mario Daniel Ruiz Saavedra
ad227484c3
Add 'guix-daemon.conf' job for Upstart.
...
* etc/guix-daemon.conf.in: New file.
* daemon.am (CLEANFILES): Add etc/guix-daemon.conf.
(upstartjobdir, nodist_upstartjob_DATA): New variables.
(EXTRA_DIST): Add etc/guix-daemon.conf.in.
* doc/guix.texi (Binary Installation, Build Environment Setup): Mention
'guix-daemon.conf'.
Signed-off-by: Mario Daniel Ruiz Saavedra <desiderantes@rocketmail.com>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-11-26 23:21:09 +01:00
Ludovic Courtès
5432734b00
lint: Add "cve" checker.
...
Fixes <http://bugs.gnu.org/21289 >.
* guix/scripts/lint.scm (package-name->cpe-name, package-vulnerabilities)
(check-vulnerabilities): New procedures.
* guix/scripts/lint.scm (%checkers): Add "cve" checker.
* tests/lint.scm ("cve", "cve: one vulnerability"): New tests.
* doc/guix.texi (Invoking guix lint): Mention it.
2015-11-26 23:04:19 +01:00
Ludovic Courtès
3177149797
doc: Remove mention of monadic services.
...
* doc/guix.texi (Base Services): Remove mention of a list of monadic
services.
2015-11-25 11:59:54 +01:00
Ludovic Courtès
fae685b9cc
services: dmd: Add 'modules' and 'imported-modules' fields.
...
* gnu/services/dmd.scm (%default-imported-modules, %default-modules):
New variables.
* gnu/services/dmd.scm (<dmd-service>)[modules, imported-modules]: New
field.
* gnu/services/dmd.scm (dmd-service-file-name, dmd-service-file): New
procedures.
(dmd-configuration-file)[modules]: Compute based on the
'imported-modules' field of SERVICES.
(dmd-configuration-file): Remove 'use-modules' form. Use
'dmd-service-file', and call 'primitive-load' on each file.
* doc/guix.texi (dmd Services): Document the new fields.
2015-11-25 11:59:54 +01:00
Ludovic Courtès
38b92daa81
graph: Add '%bag-with-origins-node-type'.
...
* guix/scripts/graph.scm (bag-node-edges): Remove 'filter' call. Add
case for 'origin'.
(%bag-node-type)[edges]: Add filtering here.
(%bag-with-origins-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("bag DAG, including origins"): New test.
* tests/guix-graph.sh: Add 'bag-with-origins'.
* doc/guix.texi (Invoking guix graph): Document it.
2015-11-23 23:34:15 +01:00
Ludovic Courtès
961d0d2d22
doc: Mention the 'NIX_REMOTE' variable for 'guix import nix'.
...
Suggested by rgrau on #guix.
* doc/guix.texi (Invoking guix import): Document 'NIX_REMOTE'.
2015-11-23 23:20:41 +01:00
Ludovic Courtès
2d7fc7daf1
refresh: Add '--expression'.
...
* guix/scripts/refresh.scm (%options, show-help): Add --expression.
(guix-refresh): Honor it.
* doc/guix.texi (Invoking guix refresh): Document it.
2015-11-23 17:48:35 +01:00
Ludovic Courtès
5fb95cc592
doc: Mention 'guix environment guix'.
...
* doc/contributing.texi (Building from Git): Mention 'guix environment
guix'. Remove outdated description of ./bootstrap. Clarify a few
things.
2015-11-22 14:14:25 +01:00
Ludovic Courtès
aabe6d3801
doc: Remove extraneous "See."
...
* doc/contributing.texi (Building from Git): Remove extra "See" and use
@xref instead of @pxref.
2015-11-21 22:26:13 +01:00
Alex Kost
bb38ece458
doc: Fix 'geiser-guile-load-path' example.
...
Reported by marusich on #guix.
* doc/contributing.texi (The Perfect Setup): Wrap modifying
'geiser-guile-load-path' into 'with-eval-after-load'.
2015-11-21 02:19:04 +03:00
Ludovic Courtès
5c36edc818
doc: Mention fonts for Asian languages.
...
Suggested by Alex Vong <alexvong1995@gmail.com>.
* doc/guix.texi (Application Setup): Explain how to install X11 fonts
for Asian languages.
2015-11-19 17:39:48 +01:00
Ludovic Courtès
28d939af0e
doc: Update documentation of the 'services' field.
...
* doc/guix.texi (operating-system Reference): The 'services' field now
contains a list of service objects.
2015-11-19 17:39:48 +01:00
Ludovic Courtès
6237b9fa39
edit: Honor $VISUAL.
...
Suggested by Andreas Enge <andreas@enge.fr>.
* guix/scripts/edit.scm (%editor): Honor 'VISUAL' before 'EDITOR'.
(show-help): Adjust accordingly.
* doc/guix.texi (Invoking guix edit): Likewise.
2015-11-11 23:29:20 +01:00
Ludovic Courtès
fc2d233964
guix package: '--search-paths' can report combined search paths.
...
Partly fixes <http://bugs.gnu.org/20255 >.
* guix/scripts/package.scm (search-path-environment-variables): Change
'profile' to 'profiles'; expect it to be a list.
(display-search-paths): Likewise.
(%default-options): Remove 'profile' entry.
(%options) <--profile>: Keep previous values associated with 'profile'
in RESULT.
(guix-package)[process-actions, process-query]: Handle the possible
lack of 'profile' pair in OPTS.
2015-11-11 00:37:50 +01:00
Ludovic Courtès
ae7ffa9e9b
install: Run GPM.
...
Suggested by Adam Pribyl <pribyl@lowlevel.cz>
at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00133.html >.
* gnu/system/install.scm (installation-services): Add call to
'gpm-service'.
* doc/guix.texi (System Installation): Mention GPM.
2015-11-07 18:56:17 +01:00
Ludovic Courtès
8664cc882c
services: Add 'gpm-service'.
...
* gnu/services/base.scm (<gpm-configuration>): New record type.
(gpm-dmd-service): New procedure.
(gpm-service-type): New variable.
(gpm-service): New procedure.
* doc/guix.texi (Base Services): Document it.
2015-11-07 18:56:17 +01:00
Ludovic Courtès
235cba8528
doc: Make the ifconfig command more visible.
...
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.
* doc/guix.texi (System Installation): Move the 'ifconfig' command to an
@example.
2015-11-06 23:50:14 +01:00
Ludovic Courtès
316d65be0c
doc: Back up on the claim of encrypted root partitions.
...
Reported by 宋文武 <iyzsong@openmailbox.org>
at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00096.html >.
* doc/guix.texi (System Installation): Comment out encrypted root
partition commands.
* gnu/system/examples/desktop.tmpl (mapped-devices): Remove.
(file-systems): Refer to the root by label.
* NEWS: Adjust.
2015-11-04 10:54:39 +01:00
Ludovic Courtès
b9d044ef7f
doc: Fix typos.
...
* doc/guix.texi (Invoking guix refresh): Fix typos.
2015-11-04 00:12:19 +01:00
Ludovic Courtès
b18812b6a4
doc: Explain that 'guix publish' relies on the key pair.
...
* doc/guix.texi (Invoking guix publish): Mention 'guix archive
--generate-key'.
2015-11-04 00:12:19 +01:00
Cyril Roelandt
bab020d7ca
import: pypi: add updater
...
* guix/import/pypi.scm (guix-package->pypi-name,
latest-release): New procedures.
(%pypi-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %PYPI-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention PyPI
2015-11-03 23:41:25 +01:00
Ludovic Courtès
1c52181f33
services: Add 'guix-publish-service'.
...
* gnu/services/base.scm (<guix-publish-configuration>): New record
type.
(guix-publish-dmd-service): New procedure.
(%guix-publish-accounts, guix-publish-service-type): New variables.
(guix-publish-service): New procedure.
* doc/guix.texi (Invoking guix publish): Add xref to
'guix-publish-service' anchor.
(Base Services): Document 'guix-publish-service'.
2015-11-03 18:11:45 +01:00
David Thompson
cfd35b4e23
doc: Linux-libre 3.19 is needed for using containers.
...
* doc/guix.texi ("invoking guix environment", "invoking guix system"):
3.10 is actually too old without backported patches, so change to 3.19.
2015-11-03 08:14:57 -05:00
Alex Vong
ef54b61dc6
doc: './pre-inst-env guix pull' won't upgrade local source tree.
...
* doc/contributing.texi (Running Guix Before It Is Installed): Clarify
'./pre-inst-env guix pull' won't upgrade local source tree.
* doc/guix.texi (Invoking guix pull): Mention ~/.config/guix/latest.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-11-03 09:56:48 +01:00
Ludovic Courtès
1065bed9c4
services: avahi: Add Avahi to the system profile.
...
* gnu/services/avahi.scm (avahi-service-type): Extend
PROFILE-SERVICE-TYPE.
(avahi-service): Adjust docstring.
* doc/guix.texi (Networking Services): Adjust accordingly.
* gnu/system/examples/desktop.tmpl (packages): Remove AVAHI.
2015-11-02 22:25:12 +01:00
Ludovic Courtès
87f4001146
services: wicd: Add Wicd to the system profile.
...
* gnu/services/networking.scm (wicd-service-type): Extend
PROFILE-SERVICE-TYPE.
(wicd-service): Mention it in docstring.
* doc/guix.texi (Networking Services): Update documentation
accordingly.
* gnu/system/examples/desktop.tmpl (packages): Remove WICD.
2015-11-02 22:25:12 +01:00
Ludovic Courtès
af4c3fd5e3
services: Add 'profile-service-type'.
...
* gnu/services.scm (packages->profile-entry): New procedure.
(profile-service-type): New variable.
* gnu/system.scm (operating-system-directory-base-entries): Remove
the "profile" entry.
(essential-services): Add a PROFILE-SERVICE-TYPE instance.
(operating-system-profile): Rewrite in terms of 'fold-services'.
* doc/guix.texi (Service Reference): Add 'profile-service-type'.
* doc/images/service-graph.dot: Likewise.
2015-11-02 22:25:12 +01:00
Ludovic Courtès
d62e201cfd
services: Add 'system-service-type'.
...
* gnu/services.scm (system-derivation): New procedure.
(system-service-type): New variable.
(boot-script-entry): New procedure.
(boot-service-type): Extend SYSTEM-SERVICE-TYPE.
(etc-entry): New procedure.
(etc-service-type): Extend SYSTEM-SERVICE-TYPE.
(fold-services): Change default #:target-type to SYSTEM-SERVICE-TYPE.
* gnu/system.scm (operating-system-directory-base-entries): New procedure.
(essential-services): Use it. Add an instance of
SYSTEM-SERVICE-TYPE.
(operating-system-boot-script): Pass #:target-type to 'fold-services'.
(operating-system-derivation): Rewrite in terms of 'fold-services'.
* gnu/system/linux-container.scm (system-container): Remove.
(container-script): Use 'operating-system-derivation'.
* guix/scripts/system.scm (export-extension-graph): Replace
BOOT-SERVICE-TYPE by SYSTEM-SERVICE-TYPE.
* doc/images/service-graph.dot: Add 'system' node and edges.
* doc/guix.texi (Service Composition): Mention SYSTEM-SERVICE-TYPE.
(Service Reference): Document it. Update 'fold-services'
documentation.
2015-11-02 22:25:11 +01:00
Alex Kost
5c2b2f006a
doc: Fix typos.
...
* doc/guix.texi (Invoking guix environment): Fix typos.
2015-11-02 21:38:36 +03:00
Alex Kost
46c36586fc
doc: Fix typo.
...
* doc/guix.texi (Invoking guix container): Fix typo.
2015-11-02 15:53:48 +03:00
Alex Kost
f4044b586d
emacs: Enable 'guix-build-log-minor-mode' in shell buffers.
...
* emacs/guix-build-log.el (guix-build-log-minor-mode-activate): New variable.
(guix-build-log-minor-mode-activate-maybe): New function.
* emacs/guix-init.el: Add it to 'shell-mode-hook'.
* doc/emacs.texi (Emacs Build Log): Mention it.
2015-11-02 15:52:52 +03:00
David Thompson
32efa254a8
scripts: Add 'container' subcommand.
...
* guix/scripts/container.scm: New file.
* guix/scripts/container/exec.scm: New file.
* po/guix/POTFILES.in: Add them.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Invoking guix container): New section.
2015-11-01 18:20:04 -05:00
David Thompson
0f252e266a
doc: Mention minimum Linux-libre version for containers.
...
* doc/guix.texi ("invoking guix environment", "invoking guix system"):
Mention Linux-libre requirements for container features.
2015-11-01 16:54:58 -05:00
Ludovic Courtès
6d6e628119
doc: Give an example with an encrypted root partition.
...
* gnu/system/examples/desktop.tmpl: Add 'mapped-devices' field.
Use it in 'file-systems'.
* doc/guix.texi (System Installation): Suggest encrypted partitions.
Give an example of a command sequence.
2015-11-01 22:24:20 +01:00