Commit graph

2775 commits

Author SHA1 Message Date
Xinglu Chen 2f665d4309
doc: Improve documentation of the Bash home service
* doc/guix.texi (Shells Home Services): Document ‘home-bash-extension’
  configuration record.
* gnu/home/services/shells.scm (generate-home-bash-documentation): Extract
  docstrings from ‘home-bash-extension’.
  (home-bash-configuration): Expound on docstrings.
  (home-bash-extension): Likewise.

Fixes: <https://issues.guix.gnu.org/50991>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-07 23:10:41 +01:00
Xinglu Chen 4b96998292
home: services: bash: Add ‘aliases’ field.
* doc/guix.texi (Shells Home Services): Document it.
* gnu/home/services/shells.scm (bash-serialize-aliases): New procedure.
(home-bash-configuration, home-bash-extension): Add ‘aliases’ field.
(home-bash-extensions): Adjust accordingly.
* guix/scripts/home/import.scm (generate-bash-configuration+modules): Populate
the ‘alias’ field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-07 23:10:41 +01:00
Ludovic Courtès 3c1158ac4e
profiles: Build the man database only if 'man-db' is in the profile.
This allows us to skip the expensive man-db profile hook in most cases.

Suggested by Liliana Marie Prikler <liliana.prikler@gmail.com>.

* guix/profiles.scm (manual-database/optional): New procedure.
(%default-profile-hooks): Use it instead of 'manual-database'.
* doc/guix.texi (Documentation): Add footnote about 'man -k' database
creation.
2021-11-06 23:01:21 +01:00
Julien Lepiller 85430a9ea6
nls: Update translations.
* po/doc/guix-cookbook.es.po: New file.
* po/doc/local.mk: Add 'es' cookbook.
* doc/local.mk: Add 'es' cookbook.
2021-11-06 14:06:36 +01:00
Efraim Flashner bc5155b952
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-10-31 14:49:47 +02:00
Ludovic Courtès c4ac8cf4f6
doc: Mention 'guix home reconfigure' upfront.
* doc/guix.texi (Declaring the Home Environment): Mention 'guix home
reconfigure'.
2021-10-31 00:51:07 +02:00
Ludovic Courtès 971a69d8e3
doc: Avoid misuse of @ref.
* doc/guix.texi (Declaring the Home Environment): Avoid @ref in the
middle of a sentence.
2021-10-31 00:51:06 +02:00
Ludovic Courtès 7711a6c3f4
doc: Mention "guix home import" upfront.
* doc/guix.texi (Declaring the Home Environment): Mention "guix home
import".
2021-10-31 00:51:06 +02:00
Xinglu Chen 87c04b0e17
doc: Document the ‘guix home import’ subcommand.
* doc/guix.texi (Invoking guix home): Document ‘guix home import’.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-31 00:51:05 +02:00
Ludovic Courtès 45b251fd04
doc: Allow offloading of the expensive derivations.
* doc/build.scm (translated-texi-manuals)
(html-manual, pdf-manual): Pass #:local-build? #f.
2021-10-28 21:30:27 +02:00
Ludovic Courtès 9e46942c1c
environment: Add '--check'.
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--check'.
* guix/scripts/environment.scm (child-shell-environment)
(validate-child-shell-environment): New procedures.
(guix-environment*): Call 'validate-child-shell-environment' when
'check?' key is in OPTS.
* doc/guix.texi (Invoking guix shell): Shorten footnote about Bash
startup files.  Document '--check' and mention startup files.
(Invoking guix environment): Document '--check'.
2021-10-26 12:46:27 +02:00
Ludovic Courtès 9730692d9f
shell: Maintain a profile cache.
shell: Maintain a profile cache.

With this change, running "guix shell" (no arguments) is equivalent to:

  guix environment -r ~/.cache/guix/profiles/some-root -l guix.scm

This is the cache miss.  On cache hit, it's equivalent to:

  guix environment -p ~/.cache/guix/profiles/some-root

... which can run in 0.1s.

* guix/scripts/shell.scm (options-with-caching): New procedure.
(parse-args): Use it.
(%profile-cache-directory): New variable.
(profile-cache-key, profile-cached-gc-root): New procedures.
(show-help, %options): Add '--rebuild-cache'.
(guix-shell)[cache-entries, entry-expiration]: New procedures.
Add call to 'maybe-remove-expired-cache-entries'.
* doc/guix.texi (Invoking guix shell): Document '--rebuild-cache'.
2021-10-25 19:02:33 +02:00
Ludovic Courtès 746584e0ca
shell: By default load the local 'manifest.scm' or 'guix.scm' file.
* guix/scripts/shell.scm (parse-args): Add call to 'auto-detect-manifest'.
(authorized-directory-file, authorized-shell-directory?)
(find-file-in-parent-directories, auto-detect-manifest): New procedures.
* tests/guix-shell.sh: Add test.
* doc/guix.texi (Invoking guix shell): Document it.
2021-10-25 19:02:23 +02:00
Ludovic Courtès 80edb7df65
Add 'guix shell'.
* guix/scripts/shell.scm, tests/guix-shell.sh: New files.
* Makefile.am (MODULES): Add 'shell.scm'.
(SH_TESTS): Add 'tests/guix-shell.sh'.
* guix/scripts/environment.scm (show-environment-options-help): New
procedure.
(show-help): Use it.
(guix-environment*): New procedure.
(guix-environment): Use it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Features): Refer to "guix shell"
(Invoking guix package): Likewise.
(Development): Likewise.
(Invoking guix shell): New node.
(Invoking guix environment): Add deprecation warning.
(Debugging Build Failures): Use 'guix shell' in examples.
(Invoking guix container): Refer to 'guix shell'.
(Invoking guix processes, Virtualization Services): Adjust examples to
use 'guix shell'.
* doc/contributing.texi (Building from Git): Refer to 'guix shell'.
* etc/completion/bash/guix: Handle "shell".
2021-10-25 18:58:18 +02:00
Ludovic Courtès 23f99f1a29
profiles: Add 'package->development-manifest'.
* guix/profiles.scm (package->development-manifest): New procedure.
* guix/scripts/environment.scm (input->manifest-entry)
(package-environment-inputs): Remove.
* guix/scripts/environment.scm (options/resolve-packages): Use
'package->development-manifest' instead of 'package-environment-inputs'.
* tests/profiles.scm ("package->development-manifest"): New test.
2021-10-25 15:29:42 +02:00
Ludovic Courtès fb368f4e76
packages: Add 'package-development-inputs'.
* guix/packages.scm (package-development-inputs): New procedure.
* guix/scripts/environment.scm (package-environment-inputs): Use it.
* tests/packages.scm ("package-development-inputs")
("package-development-inputs, cross-compilation"): New tests.
* doc/guix.texi (package Reference): Document it.
2021-10-25 15:29:39 +02:00
Jacob Adams 1ea032fb5f
services: rsync: support binding rsync to a specific IP address
* gnu/services/rsync.scm (<rsync-configuration>)[address]: New field.
(rsync-config-file): Honor it.
* doc/guix.texi (Networking Services): Document new address rsync
configuration option.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 14:32:59 +02:00
Ludovic Courtès 2dffe4767c
gnu: Use 'search-input-file' some more.
This patch replaces occurrences of:

  (string-append (assoc-ref %build-inputs "…") "/…")

by:

  (search-input-file %build-inputs "/…")

* doc/guix.texi (Miscellaneous Services): Use 'search-input-file' in R
Shiny example.
* gnu/packages/admin.scm (screenfetch): Use 'search-input-file'.
(ufetch): Likewise.
(hosts): Likewise.
* gnu/packages/backup.scm (dirvish): Likewise.
* gnu/packages/code.scm (colormake): Likewise.
* gnu/packages/compression.scm (makeself-safeextract): Likewise.
* gnu/packages/debug.scm (scanmem): Likewise.
* gnu/packages/education.scm (snap): Likewise.
(omnitux): Likewise.
* gnu/packages/emacs-xyz.scm (epipe): Likewise.
* gnu/packages/games.scm (openttd-opensfx): Likewise.
(openttd-openmsx): Likewise.
(openrct2-title-sequences):  Likewise.
(openrct2-objects):  Likewise.
(mrrescue):  Likewise.
(0ad-data):  Likewise.
(xonotic-data):  Likewise.
(drascula):  Likewise.
(make-lure-package):  Likewise.
(make-queen-package):  Likewise.
(sky):  Likewise.
* gnu/packages/gnome.scm (network-manager): Likewise.
* gnu/packages/gnuzilla.scm (icedove): Likewise.
* gnu/packages/guile-xyz.scm (guile-shapefile): Likewise.
* gnu/packages/hurd.scm (netdde): Likewise.
* gnu/packages/javascript.scm (js-context-menu): Likewise.
(js-commander): Likewise.
(js-xmldom-sre): Likewise.
* gnu/packages/kde-frameworks.scm (krunner): Likewise.
* gnu/packages/kodi.scm (kodi-cli): Likewise.
* gnu/packages/libreoffice.scm (hunspell-dict-pl): Likewise.
* gnu/packages/linux.scm (e2fsck/static): Likewise.
* gnu/packages/markup.scm (markdown): Likewise.
* gnu/packages/maths.scm (hdf-java): Likewise.
* gnu/packages/multiprecision.scm (libtomcrypt): Likewise.
* gnu/packages/networking.scm (batctl): Likewise.
* gnu/packages/python-xyz.scm (python-pymediainfo): Likewise.
* gnu/packages/shells.scm (fish-foreign-env): Likewise.
* gnu/packages/tex.scm (texlive-fonts-iwona): Likewise.
* gnu/packages/upnp.scm (miniupnpc): Likewise.
* gnu/packages/version-control.scm (git-annex-remote-rclone): Likewise.
* gnu/packages/virtualization.scm (qemu): Likewise.
* gnu/packages/web.scm (icedtea-web): Likewise.
* gnu/packages/wm.scm (stumpish): Likewise.
2021-10-23 23:05:21 +02:00
Julien Lepiller c5881ff1f3
doc: Set LC_ALL when translating xref commands.
* doc/local.mk (xref_command): Set LC_ALL.
2021-10-22 02:32:06 +02:00
Tobias Geerinckx-Rice 96c747cb29
doc: Fix typo.
* doc/guix.texi (Invoking guix system, Invoking guix home):
Fix ‘are […] two month old’ typo.
2021-10-20 00:39:16 +02:00
Mathieu Othacehe e486b2b674
Merge remote-tracking branch 'signed/master' into core-updates 2021-10-18 14:37:26 +00:00
Julien Lepiller 0623138ffa
maint: Factorize po xref translation.
This ensures we use the same method in "make" as in "guix/self.scm".

* Makefile.am: Build guix/build/po.scm.
* build-aux/convert-xref.scm: New file.
* doc/local.mk (xref_command): Use it.
* guix/self.scm (translate-cross-references): Move it...
* guix/build/po.scm: Parse comments and flags separately to find fuzzy
flags.
(translate-cross-references): ...here.
(parse-tree->assoc): Ignore fuzzy entries.
2021-10-17 18:26:44 +02:00
Oleg Pykhalov ff20d3928d
home: services: shells: Fix documentation about file-like objects.
* gnu/home/services/shells.scm:
(home-shell-profile-configuration, home-shell-profile-service-type,
home-zsh-configuration, home-zsh-extension, home-bash-configuration,
home-bash-extension, home-fish-configuration, home-fish-extension):
Replace 'strings or gexps' with 'file-like objects' in the documentation.
* doc/guix.texi (Shells Home Services): Same.
2021-10-16 16:48:44 +03:00
Marius Bakke 5fafb6e792
doc: Fix typo.
* doc/contributing.texi (Configuring Git): s/respository/repository/
2021-10-14 00:24:34 +02:00
Mathieu Othacehe a1eca979fb
Merge remote-tracking branch 'origin/master' into core-updates-frozen. 2021-10-12 17:46:23 +00:00
Marius Bakke dc88999648
doc: Fix typo.
* doc/guix.texi (Virtualization Services): Adjust Ganeti service name.
2021-10-11 18:59:44 +02:00
Oleg Pykhalov 00a132222f
doc: guix: Fix typo.
Reported by Maxime Devos <maximedevos@telenet.be>.

* doc/guix.texi (Invoking guix home): Fix typo.
2021-10-11 14:59:08 +03:00
Oleg Pykhalov 0e8d2df0f1
Move (gnu home-services) to (gnu home services).
* gnu/home-services.scm (%guix-home-root-directory): Replace
gnu/home-services.scm with "gnu/home/services.scm".
Rename to gnu/home/services.scm.
* gnu/local.mk
(GNU_SYSTEM_MODULES): Rename gnu/home-services.scm to gnu/home/services.scm.
* doc/he-config-bare-bones.scm:
Replace (gnu home-services) with (gnu home services).
* gnu/home.scm: Same.
* gnu/home/services/fontutils.scm: Same.
* gnu/home/services/mcron.scm: Same.
* gnu/home/services/shells.scm: Same.
* gnu/home/services/shepherd.scm: Same.
* gnu/home/services/symlink-manager.scm: Same.
* gnu/home/services/xdg.scm: Same.
* guix/scripts/home.scm: Same.
* guix/self.scm: Same.
2021-10-09 19:24:18 +03:00
Oleg Pykhalov 2600002b9a
doc: guix: Fix home services locations.
This commit follows ba8ddb3480.

* doc/guix.texi (Invoking guix home): Fix home services locations.
2021-10-09 19:24:18 +03:00
Oleg Pykhalov ba8ddb3480
gnu: Move (gnu home-services) to (gnu home services).
* gnu/home-services/configuration.scm: Move the content ...
* gnu/home/services/configuration.scm: ... here.
* doc/guix.texi:
Replace (gnu home-services mcron) with (gnu home services mcron).
Replace (gnu home-services) with (gnu home services).
* gnu/home.scm:
Replace (gnu home-services fontutils) with (gnu services fontutils).
Replace (gnu home-services shells) with (gnu home services shells).
Replace (gnu home-services symlink-manager) with
(gnu home services symlink-manager).
Replace (gnu home-services xdg) with (gnu home services xdg).
* gnu/home-services/fontutils.scm: Rename to gnu/services/fontutils.scm.
* gnu/home-services/mcron.scm: Move to gnu/home/services/mcron.scm.
Replace (gnu home-services shepherd) with (gnu home services shepherd).
* gnu/home-services.scm (%service-type-path):
Search home services in "gnu/services".
* gnu/home-services/shells.scm: Replace (gnu home-services configuration) with
(gnu home services configuration).
Rename to gnu/home/services/shells.scm.
Replace (gnu home-services utils) with (gnu home services utils).
* gnu/home-services/shepherd.scm: Move to gnu/home/services/shepherd.scm.
* gnu/home-services/symlink-manager.scm:
Rename to gnu/home/services/symlink-manager.scm.
* gnu/home-services/utils.scm: Rename to gnu/home/services/utils.scm.
* gnu/home-services/xdg.scm: Rename to gnu/home/services/xdg.scm.
* guix/scripts/home/import.scm:
Replace (gnu home-services bash) with (gnu home services bash).
* gnu/home-services.scm: Update documentation string.
* doc/he-config-bare-bones.scm:
Apply new (gnu home-services ...) modules location.
* gnu/local.mk (GNU_SYSTEM_MODULES): Same.
2021-10-08 15:36:18 +03:00
Sarah Morgensen e0e65ed69d
doc: cookbook: Mention translations of the cookbook.
* doc/guix-cookbook.texi (Top): Add note about l10n.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-04 16:36:58 +02:00
Sarah Morgensen 1267c2e9ef
doc: Update htmlxref.cnf.
Update and fix broken references to cuirass, git, and guix-cookbook.

* doc/htmlxref.cnf: Update from Texinfo.  Factorize Guix manuals.
(cuirass, git, guix-cookbook, guix-cookbook.de, guix-cookbook.fr): New
entries.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-04 16:36:58 +02:00
Sarah Morgensen 9fc8ae4171
maint: Improve default diff hunk header detection.
Tell git where to look for diff hunk headers: top-level definitions for
Scheme files, and (sub)section headers for texi files.

* .gitattributes, etc/git/gitconfig: New files.
* doc/contributing.texi ("Submitting Patches"): Add subsection
"Configuring Git".  Document etc/git/gitconfig.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-04 16:36:58 +02:00
Maxime Devos 5fec14807f
doc: Fix 'setuid-program' example.
The '#$' doesn't belong there, and will cause ‘unbound variable’ errors.

Reported-By: ss2 (on IRC)

* doc/guix.texi (Setuid Programs): Remove #$ from example.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-10-04 13:31:38 +02:00
Tobias Geerinckx-Rice 8b5b7478ab
services: knot: Remove obsolete DISABLE-ANY? zone option.
It is now silently ignored by knotd.

* gnu/services/dns.scm (<knot-zone-configuration>):
Remove DISABLE-ANY? field.  Adjust all previous users.
* doc/guix.texi (DNS Services): Undocument it.
2021-10-04 13:31:34 +02:00
Pierre Langlois 20bc9ecc20
scripts: home: Wire and document --expression flag.
* guix/scripts/home.scm (show-help): Add --expression option.
(%options): Likewise.
* doc/guix.texi (Invoking guix home): Document it.
2021-10-02 21:21:19 +01:00
Josselin Poiret db4681a4c1
services: gdm: Add Wayland support.
* gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland-session]: New field.
(gdm-wayland-session-wrapper): New procedure.
(gdm-configuration-file): Point to this new procedure.
* doc/guix.texi (X Window): Update it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-10-02 17:24:00 +00:00
Josselin Poiret 5c3f0c3e03
gnu: Add Wayland support for GDM.
Add the optional flag `wayland?` in `gdm-configuration` to launch GDM with
Wayland, enabling the use of Wayland sessions with GDM.

* gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland?]: New field.
(gdm-configuration): Honor it.
(gdm-shepherd-service): Add the XCURSOR_PATH environment variable.
* doc/guix.texi (X Window): Document it

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-10-02 17:17:44 +00:00
Jacob Adams edcc9ebc03
doc: Document Wireguard port configuration option.
* doc/gnu.texi (VPN Services): Document wireguard port configuration option.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-09-29 13:16:59 +00:00
Tobias Geerinckx-Rice b0c03aa4d8
doc: Fix typos.
* doc/guix.texi (Invoking guix import): Fix ‘accross’ typo.
(Version Control Services): Fix ‘infomation’ typo.
2021-09-28 22:00:47 +02:00
Mathieu Othacehe 81a34a90d7
doc: Update postgresql defaut socket directory.
This is a follow-up of: 502925655d.

* doc/guix.texi (Database Services): Update the PostgreSQL default socket
directory value.
2021-09-27 20:28:21 +00:00
Oleg Pykhalov 6ae4644984
Merge branch 'wip-guix-home' 2021-09-27 17:27:12 +03:00
Andrew Tropin 3c604968a1
doc: Add a note about Guix Home status.
* doc/guix.texi: Add a note about Guix Home status.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-27 17:06:55 +03:00
Liliana Marie Prikler 719bbcc15e
Update copyright assignments for Liliana Marie Prikler.
* doc/guix.texi: Update copyright name for Liliana Marie Prikler.
* gnu/packages/build-tools.scm: Update copyright name and email for Liliana
Marie Prikler.
* gnu/packages/convmv.scm: Likewise.
* gnu/packages/emacs-xyz.scm: Likewise.
* gnu/packages/emacs.scm: Likewise.
* gnu/packages/esolangs.scm: Likewise.
* gnu/packages/game-development.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gnome-xyz.scm: Likewise.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/gstreamer.scm: Likewise.
* gnu/packages/guile-xyz.scm: Likewise.
* gnu/packages/minetest.scm: Likewise.
* gnu/packages/music.scm: Likewise.
* gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Likewise.
* gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Likewise.
* gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Likewise.
* gnu/packages/python-xyz.scm: Likewise.
* gnu/packages/unicode.scm: Likewise.
* gnu/packages/xorg.scm: Likewise.
* gnu/services/sound.scm: Likewise.
* guix/build-system/renpy.scm: Likewise.
* guix/build/emacs-utils.scm: Likewise.
* guix/build/renpy-build-system.scm: Likewise.
2021-09-25 09:34:36 +02:00
Tobias Geerinckx-Rice 34c105f929
file-systems: Add support for XFS.
* gnu/build/file-systems.scm (%xfs-endianness): New syntax.
(xfs-superblock?, read-xfs-superblock, xfs-superblock-uuid)
(xfs-superblock-volume-name, check-xfs-file-system): New procedures.
(%partition-label-readers, %partition-uuid-readers, check-file-system):
Register them.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning):
Note XFS support.
2021-09-23 18:17:17 +02:00
Tobias Geerinckx-Rice a75a3d7132
linux-boot: Honour fsck.mode & fsck.repair.
* gnu/build/linux-boot.scm (boot-system): Honour ‘fsck.mode=’ and
‘fsck.repair=’ kernel command line options.
* doc/guix.texi (Initial RAM Disk): Document both.
2021-09-23 18:17:16 +02:00
Tobias Geerinckx-Rice 602994847b
file-systems: Support forced checks & repairs.
* gnu/build/file-systems.scm (check-ext2-file-system)
(check-bcachefs-file-system, check-btrfs-file-system)
(check-fat-file-system, check-jfs-file-system, check-f2fs-file-system)
(check-ntfs-file-system, check-file-system): Take and honour new FORCE?
and REPAIR arguments.  Update the docstring.  Adjust all callers.
* gnu/system/file-systems.scm <file-system>: Add new SKIP-CHECK-IF-CLEAN?
and REPAIR fields.
(file-system->spec, spec->file-system): Adjust accordingly.
* gnu/build/linux-boot.scm (mount-root-file-system): Take new
SKIP-CHECK-IF-CLEAN? and REPAIR keyword arguments.  Thread them through
to CHECK-FILE-SYSTEM.
* doc/guix.texi (File Systems): Document both new <file-system> options.
2021-09-23 18:17:15 +02:00
zimoun d18b787d8a
doc: Add item to "Submitting Patches" section.
* doc/contributing.texi (Submitting Patches): Add item about 'git-format-patch
--base'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-22 16:14:39 +02:00
Ludovic Courtès 5b32ad4f6f
graph: Add '--max-depth'.
* guix/graph.scm (export-graph): Add #:max-depth and honor it, adding
'depths' argument to 'loop'.
* guix/scripts/graph.scm (%options, show-help): Add '--max-depth'.
(%default-options): Add 'max-depth'.
(guix-graph): Pass #:max-depth to 'export-graph'.
* tests/graph.scm ("package DAG, limited depth"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
2021-09-21 15:15:52 +02:00
Thiago Jung Bauermann 5c4fd77097
etc: Add systemd files for running ‘guix gc’ periodically
* etc/guix-gc.service.in: New file.
* etc/guix-gc.timer: Likewise.
* .gitignore: Ignore generated ‘guix-gc.service’.
* nix/local.mk (nodist_systemdservice_DATA): Add ‘guix-gc.service’ and
‘guix-gc.timer’.
(EXTRA_DIST): Add ‘guix-gc.service.in’ and ‘guix-gc.timer’.
* doc/guix.texi (Binary Installation): Mention the new systemd files.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-09-20 14:18:21 +00:00
Xinglu Chen 59ee10754e
import: Add 'generic-git' updater.
* guix/git.scm (ls-remote-refs): New procedure.
* tests/git.scm ("remote-refs" "remote-refs: only tags"): New tests.
* guix/import/git.scm: New file.
* doc/guix.texi (Invoking guix refresh): Document it.
* tests/import-git.scm: New test file.
* Makefile.am (MODULES, SCM_TESTS): Register the new files.

Co-authored-by: Sarah Morgensen <iskarian@mgsn.dev>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-18 19:37:45 +02:00
Marius Bakke 5c3cb22c9b
Merge branch 'master' into core-updates-frozen
Conflicts:
	gnu/packages/bioinformatics.scm
	gnu/packages/chez.scm
	gnu/packages/docbook.scm
	gnu/packages/ebook.scm
	gnu/packages/gnome.scm
	gnu/packages/linux.scm
	gnu/packages/networking.scm
	gnu/packages/python-web.scm
	gnu/packages/python-xyz.scm
	gnu/packages/tex.scm
	gnu/packages/version-control.scm
	gnu/packages/xml.scm
	guix/build-system/dune.scm
	guix/build-system/go.scm
	guix/build-system/linux-module.scm
	guix/packages.scm
2021-09-17 01:25:52 +02:00
Andrew Tropin bac597cc96
home-services: Add Mcron.
* gnu/home-services/mcron.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Add documentation about Mcron Home Service.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-13 22:41:25 +03:00
Efraim Flashner de4f5df95d
build/go: Support cross compiling.
* guix/build-system/go.scm (go-target): New procedure.
(go-build): Add goarch, goos keywords. Adjust bag depending if doing a
native or cross compile.
(go-cross-build): New procedure.
* guix/build/go-build-system.scm (setup-go-environment): Accept goarch,
goos keywords. Set go environment variables based on target architecture.
* doc/guix.texi (Build Systems): Mention new go-build-system keywords.
2021-09-13 15:33:30 +03:00
Andrew Tropin 6b5ff71b99
home-services: Add Shepherd.
* gnu/home-services/shepherd.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Add documentation about Shepherd Home Service.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-09 20:28:03 +03:00
Andrew Tropin aaffa43c17
doc: Add Guix Home documentation.
* doc/guix.texi: Add Guix Home documentation.
* doc/he-config-bare-bones.scm: New file.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-09 20:26:51 +03:00
Grant Shangreaux de15397006
doc: add clarifications to Linode cookbook recipe
* doc/guix-cookbook.texi: clarify Linode recipe

Reword paragraph about adding the Guix device disk to Debian config.
Improve example commands for sftp-ing files to the server.
Minor wording fixes

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-08 22:36:53 +02:00
Marius Bakke 16ef7b4938
transformations: Git tags and 'git describe' style IDs are used as version.
* guix/transformations.scm (commit->version-string): New procedure.  Use git
tags and 'git describe' style identifiers directly.
(transform-package-source-commit): Adjust accordingly.
* tests/transformations.scm
("options->transformation, with-commit, version transformation"): New test.
* doc/guix.texi (Package Transformation Options): Mention the 'git describe'
style.
2021-09-08 18:03:50 +02:00
Marius Bakke 1dc3825e99
git: 'resolve-reference' handles 'git describe'-style commit IDs.
* guix/git.scm (resolve-reference): Rewrite tag-or-commit case to recognize
'git describe' style identifiers and resolve them as commits.
* doc/guix.texi (origin Reference): Mention it.
2021-09-08 18:03:50 +02:00
pukkamustard f8f94cc544
guix: dune-build-system: Put dune into a reproducible release mode.
* guix/build/dune-build-system.scm (build,check): Replace the profile parameter
with the appropriate release flags.
* guix/build-system/dune.scm: Remove the profile parameter.
* doc/guix.texi: Remove paragraph on profile parameter.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-09-08 13:39:27 +02:00
Xinglu Chen af4fa7c00c
import: elpa: Support NonGNU ELPA.
* guix/import/elpa.scm (elpa-url): Add NonGNU ELPA URL.
* doc/guix.texi (Invoking guix import): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-07 15:59:34 +02:00
Ludovic Courtès d9dfbf886d
Merge branch 'master' into core-updates-frozen 2021-09-07 14:19:08 +02:00
Julien Lepiller c60daa8e9d
gnu: version-control: Add gitile service.
* gnu/services/version-control.scm (gitile-service-type): New variable.
* doc/guix.texi (Version Control Services): Document it.
* gnu/tests/version-control.scm (%test-gitile): New variable.
2021-09-02 22:56:55 +02:00
Julien Lepiller cc16103861
gnu: gitolite: Add unsafe-pattern configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add
unsafe-pattern field.
(gitolite-rc-file-compiler): Write it.
* doc/guix.texi (Version Control Services): Document it.
2021-09-02 22:56:44 +02:00
Maxime Devos cefaa0e607
doc: Correct name of Minetest importer.
* doc/guix.texi (Invoking guix import): Let the item name be
  'minetest' instead of 'contentdb'.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-31 23:25:12 +02:00
Marius Bakke c4133c43c7
Merge branch 'master' into core-updates-frozen
Conflicts:
	gnu/packages/algebra.scm
	gnu/packages/games.scm
	gnu/packages/golang.scm
	gnu/packages/kerberos.scm
	gnu/packages/mail.scm
	gnu/packages/python.scm
	gnu/packages/ruby.scm
	gnu/packages/scheme.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
2021-08-12 00:30:27 +02:00
Marius Bakke b029be2ee0
Merge branch 'master' into core-updates-frozen
Conflicts:
	gnu/packages/bioinformatics.scm
	gnu/packages/cmake.scm
	gnu/packages/curl.scm
	gnu/packages/emacs-xyz.scm
	gnu/packages/gpodder.scm
	gnu/packages/music.scm
	gnu/packages/patches/glibc-bootstrap-system.patch
	gnu/packages/python-xyz.scm
	gnu/packages/shells.scm
	gnu/packages/statistics.scm
2021-07-29 22:34:57 +02:00
Brice Waegeneire a85ec0bf69
services: Migrate to <setuid-program>.
* gnu/services/dbus.scm (dbus-setuid-programs, polkit-setuid-programs):
  Return setuid-programs.
* gnu/services/desktop.scm (enlightenment-setuid-programs): Return
 setuid-programs.
 (%desktop-services)[mount-setuid-helpers]: Use setuid-programs.
* gnu/services/docker.scm (singularity-setuid-programs): Return
 setuid-programs.
* gnu/services/xorg.scm(screen-locker-setuid-programs): Return
 setuid-programs.
* gnu/system.scm (%setuid-programs): Return setuid-programs.
* doc/guix.texi (Setuid Programs, operating-system Reference): Replace
  'list of G-expressions' with 'list of <setuid-program>'.
2021-07-29 11:32:48 -04:00
Chris Lemmer-Webber a7ac19851b
services: setuid: More configurable setuid support.
New record <setuid-program> with fields for setting the specific user
and group, as well as specifically selecting the setuid and setgid bits,
for a program within the setuid-program-service.

* gnu/services.scm (setuid-program-file-like-deprecated): New function.
  (setuid-program-service-type): Make use of
  setuid-program->activation-gexp.  Adjust the extend property to handle
  <setuid-program>.
* gnu/build/activation.scm (activate-setuid-programs): Update to expect a
  <setuid-record> list for each program entry.
* gnu/system.scm: (operating-system-setuid-programs): Renamed to
  %operating-system-setuid-programs and replace it with new procedure.
  (operating-system-default-essential-services,
  hurd-default-essential-services): Replace
  operating-system-setuid-programs with
  %operating-system-setuid-programs.
* gnu/system/setuid.scm: New file.
* doc/guix.texi (Setuid Programs): Document <setuid-program>.

Co-authored-by: Brice Waegeneire <brice@waegenei.re>
2021-07-29 11:32:08 -04:00
Maxim Cournoyer da4e409483
Migrate to the new 'targets' field of bootloader-configuration.
The old 'target' field is deprecated; adjust the sources to use the new
'targets' one instead.

* doc/guix-cookbook.texi<target>: Replace by 'targets'.
* gnu/bootloader/grub.scm: Likewise.
* gnu/installer/parted.scm: Likewise.
* gnu/machine/digital-ocean.scm: Likewise.
* gnu/system/examples/asus-c201.tmpl: Likewise
* gnu/system/examples/bare-bones.tmpl: Likewise
* gnu/system/examples/bare-hurd.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/examples/vm-image.tmpl: Likewise
* gnu/system/examples/yggdrasil.tmpl: Likewise
* gnu/system/hurd.scm: Likewise
* gnu/system/images/hurd.scm: Likewise
* gnu/system/images/novena.scm: Likewise
* gnu/system/images/pine64.scm: Likewise
* gnu/system/images/pinebook-pro.scm: Likewise
* gnu/system/images/rock64.scm: Likewise
* gnu/system/install.scm: Likewise
* gnu/system/vm.scm: Likewise
* gnu/tests.scm: Likewise
* gnu/tests/ganeti.scm: Likewise
* gnu/tests/install.scm: Likewise
* gnu/tests/nfs.scm: Likewise
* gnu/tests/telephony.scm: Likewise
* tests/boot-parameters.scm: Likewise
* tests/system.scm: Likewise
2021-08-29 01:05:26 -04:00
Maxim Cournoyer 2ca982ff41
gnu: bootloader: Support multiple targets.
Fixes <https://issues.guix.gnu.org/40997>.

* gnu/bootloader.scm (<bootloader-configuration>): New 'targets' field.
(%bootloader-configuration-target): New procedure.
(bootloader-configuration-target): Add deprecation warning.
(bootloader-configuration-targets): New procedure.
* guix/scripts/system.scm (install): Access targets via
bootloader-configuration-targets.
(perform-action)[bootloader-target]: Remove unused argument and update doc.
Access targets via bootloader-configuration-targets and fix indentation.
(process-action): Access targets via bootloader-configuration-targets.
Do not provide the unused BOOTLOADER-TARGET argument when applying
`perform-action'.
* guix/scripts/system/reconfigure.scm (install-bootloader-program): Rename
DEVICE argument to DEVICES.  Adjust doc and comment.  Apply `installer' and
`disk-installer' for every DEVICES.
(install-bootloader): Access targets via bootloader-configuration-targets and
rename variable from DEVICE to DEVICES.
* gnu/tests/install.scm: Adjust accordingly.
* tests/guix-system.sh: Likewise.
* gnu/tests/reconfigure.scm (run-install-bootloader-test): Adjust the DEVICES
argument so that it is a list.
* doc/guix.texi: Update doc.
2021-08-29 01:05:26 -04:00
Sergei Trofimovich 79c07db3d5
doc: Work around po4a doc generation hangup.
Multiple people are affected by 'guix pull' hangup.
The reproducer is:

    $ po4a-translate -d -M UTF-8 -L UTF-8 -k 0 -f texinfo \
      -m "doc/guix.texi" -p "po/doc/guix-manual.de.po" -l "doc/guix.de.texi.tmp"

The regression is bisected down to commit fc29c80b9
("guix: opam: More flexibility in the importer").

The workaround is to avoid multiline @code{...} directive.

* doc/guix.texi: Avoid multiline @code{...} directive.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-21 14:00:01 +02:00
Alice BRENON fc29c80b96
guix: opam: More flexibility in the importer.
* guix/scripts/import/opam.scm: Pass all instances of --repo as a list
  to the importer.
* guix/import/opam.scm (opam-fetch): Stop expecting "expanded"
  repositories and call get-opam-repository instead to keep values
  "symbolic" as long as possible and factorize.
  (get-opam-repository): Use the same repository source as CLI opam does
  (i.e. HTTP-served index.tar.gz instead of git repositories).
  (find-latest-version): Be more flexible on the repositories structure
  instead of expecting packages/PACKAGE-NAME/PACKAGE-NAME.VERSION/.
* tests/opam.scm: Update the call to opam->guix-package since repo is
  now expected to be a list and remove the mocked get-opam-repository
  deprecated by the support for local folders by the actual
  implementation.
* doc/guix.texi: Document the new semantics and valid arguments for the
  --repo option.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-21 00:05:21 +02:00
pukkamustard 33a1ec29fa
guix: dune-build-system: Add a profile parameter.
* guix/build-system/dune.scm: Add a profile parameter.
* guix/build/dune-build-system.scm (build): Use it.
* doc/guix.texi: Document it.
* gnu/packages/ocaml.scm: Remove profile being set from build flags.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-20 23:51:11 +02:00
Maxime Devos 467e874a86
guix: Add ContentDB importer.
* guix/import/contentdb.scm: New file.
* guix/scripts/import/contentdb.scm: New file.
* tests/contentdb.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Register them.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Invoking guix import): Document it.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-20 12:41:54 +02:00
Maxime Devos 3df485152c
build-system: Add 'minetest-mod-build-system'.
* guix/build-system/minetest.scm: New module.
* guix/build/minetest-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'minetest-mod-build-system'.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-20 12:41:54 +02:00
Oleg Pykhalov b948ab8b56
services: slim: Add pam-gnupg support.
* gnu/system/pam.scm (unix-pam-service): Add account and session PAM entries
for pam-gnupg.  Don't pass "#f" to "allow-root?" argument, because "lambda*"
already does this by default.
* doc/guix.texi (X Window): Document this.
* gnu/services/xorg.scm (<slim-configuration>)[gnupg?]: New record field.
(slim-pam-service): Pass "#:gnupg?" argument to "unix-pam-service".
2021-08-17 01:10:25 +03:00
Christopher Lemmer Webber 9455143907
Update copyright/name notices for Christine Lemmer-Webber.
* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber.
* gnu/build/image.scm: Likewise.
* gnu/build/vm.scm: Likewise.
* gnu/packages/admin.scm: Likewise.
* gnu/packages/assembly.scm: Likewise.
* gnu/packages/audio.scm: Likewise.
* gnu/packages/backup.scm: Likewise.
* gnu/packages/check.scm: Likewise.
* gnu/packages/databases.scm: Likewise.
* gnu/packages/emacs-xyz.scm: Likewise.
* gnu/packages/finance.scm: Likewise.
* gnu/packages/gnupg.scm: Likewise.
* gnu/packages/guile-xyz.scm: Likewise.
* gnu/packages/guile.scm: Likewise.
* gnu/packages/haskell-xyz.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/password-utils.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/python-xyz.scm: Likewise.
* gnu/packages/python.scm: Likewise.
* gnu/packages/sphinx.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/services/networking.scm: Likewise.
* gnu/system/vm.scm: Likewise.
2021-08-15 14:15:37 -04:00
Ricardo Wurmus a0fd46304e
doc: Fix typo.
* doc/guix-cookbook.texi (GUIX_PACKAGE_PATH): Fix typo in file name.

Reported-by: breathein on IRC.
2021-08-15 11:36:38 +02:00
Mathieu Othacehe cfd2442488
services: cuirass: Reverse the no-publish logic.
This is a follow-up of d128c6fd33.

* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>)
[no-publish?]: Rename it to ...
[publish?]: ... this new field.
(cuirass-shepherd-service): Adapt it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-13 13:46:21 +02:00
Mathieu Othacehe 23b5b168ae
services: cuirass: Add a substitute-urls argument.
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>): Add a
substitute-urls field.
(cuirass-remote-worker-shepherd-service): Honor it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-12 14:31:54 +02:00
Mathieu Othacehe d128c6fd33
services: cuirass: Add a no-publish argument.
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Add a
no-publish? field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Cuirass remote building): Document it.
2021-08-12 12:59:55 +02:00
Maxim Cournoyer 392c7175ae
doc: Add a tip to better name mcron jobs.
* doc/guix.texi (Scheduled Job Execution): Specify the 'displayable' argument
for the 'updatedb-job' example.  Add a tip to better name jobs, referring to
the modified example.
2021-08-08 01:28:57 -04:00
Julien Lepiller 6c10c96fed
nls: Update translations.
* po/doc/guix-cookbook.ru.po: New file.
* po/doc/guix-cookbook.sk.po: New file.
* po/*/*.po: Update translations.
* doc/local.mk (COOKBOOK_LANGUAGES): Add ru and sk.
(info_TEXINFOS): Add Russian and Slovak cookbooks.
* po/doc/local.mk (DOC_COOKBOOK_PO_FILES): Add Russian and Slovak po
files.
2021-08-04 14:49:53 +02:00
Maxim Cournoyer e1ddcf75bf
doc: Fix typo.
* doc/guix.texi (Telephony Services): Remove the extraneous 'jami' argument
when invoking 'list-actions'.
2021-08-03 11:26:59 -04:00
Maxim Cournoyer 10f554700c
Reinstate "services: Add a service for Jami."
This reverts commit 4673f81793, which reverted
commit 69dcc24c9f with the fix detailed below.

Thanks to Christopher Baines for reporting the failure and proposing a fix.

* guix/self.scm (compiled-guix) [*system-test-modules*]: Add the test data
files via the 'extra-files' argument.
* gnu/local.mk (dist_patch_DATA): Move the tests/data/jami-dummy-account.dat
file to...
* gnu/local.mk (MODULES_NOT_COMPILED): ... here.
2021-08-02 17:23:30 -04:00
Maxim Cournoyer 4673f81793
Revert "services: Add a service for Jami."
This reverts commit 69dcc24c9f.  It broke 'guix
pull'.
2021-08-02 15:48:59 -04:00
Maxim Cournoyer 69dcc24c9f
services: Add a service for Jami.
* gnu/services/telephony.scm (string-or-computed-file?)
(string-list?, account-fingerprint-list?): New procedures.
(maybe-string-list, maybe-account-fingerprint-list)
(maybe-boolean, maybe-string, jami-account-list): New configuration field
types.
(serialize-string-list, serialize-boolean, serialize-string)
(jami-account, jami-account->alist, jami-configuration)
(jami-account-list?, jami-account-list-maybe): New procedures.
(%jami-accounts): New variable.
(jami-configuration->command-line-arguments): New procedure.
(jami-dbus-session-activation, jami-shepherd-services): New procedures.
(jami-service-type): New variable.
* gnu/build/jami-service.scm: New file.
* gnu/tests/data/jami-dummy-account.dat: Likewise.
* gnu/tests/telephony.scm: Likewise.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register them.
* Makefile.am (SCM_TESTS): Register the test file.
(dist_patch_DATA): Register the new data file.
* doc/guix.texi (Telephony Services): Document it.
2021-08-02 15:15:02 -04:00
Maxime Devos a682fea916
gnu: gs-font: Rename to 'font-ghostscript'.
According to (guix)Fonts, font package names must be prefixed
with 'font-'.  Adjust 'gs-fonts' to follow this convention.

* gnu/packages/fontutils.scm
  (gs-fonts)[name]: Set to "font-ghostscript".
  (gs-fonts): Rename variable to 'font-ghostscript'.
  (gs-fonts): Add deprecated package.
* gnu/packages/ghostscript.scm
  (ghostscript)[arguments]<#:configure-flags>: Replace 'gs-fonts'
  with 'font-ghostscript'.
  (ghostscript)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontconfig)[inputs]: Likewise.
* gnu/packages/gtk.scm
  (pango-1.42)[arguments]{disable-layout-test}: Likewise.
* gnu/packages/imagemagick.scm
  (graphicsmagick)[arguments]{configure-flags}: Likewise.
  (graphicsmagick)[inputs]: Likewise.
* gnu/packages/mp3.scm (ripperx)[propagated-inputs]: Likewise.
* doc/guix.texi (X11 Fonts): Likewise.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-25 17:52:36 +02:00
Ludovic Courtès 0e47fcced4
Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
Maxim Cournoyer aeded14b83
pack: Allow embedding custom control files in deb packs.
* guix/scripts/pack.scm (self-contained-tarball/builder)
[extra-options]: New argument.
(self-contained-tarball, squashfs-image, docker-image)
(debian-archive): Likewise.  Remove two TODO comments.  Document
EXTRA-OPTIONS.  Use the custom control files when provided.
(%deb-format-options): New variable.
(show-deb-format-options, show-deb-format-options/detailed): New procedures.
(%options): Register new options.
(show-help): Augment with new usage.
(guix-pack): Validate and propagate new argument values.
* doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced
options.  Add an example.
* tests/pack.scm (deb archive...): Provide extra-options to the debian-archive
procedure, and validate that the provided files are embedded in the pack.
2021-07-18 02:02:34 -04:00
Brice Waegeneire 2aa65869ba
doc: Fix docker-configuration field names.
* doc/guix.texi (Docker): Correct filed names "docker" and "docker-cli".
2021-07-17 22:49:20 +02:00
Maxim Cournoyer 01d7e8c278
doc: Use Awk in one of the examples.
The output of the listing of available packages now contains a mix of tab and
space characters, so that its output is more pleasing to read.  This preserves
most simple uses of 'cut', but the added extra space padding can cause a
change in behavior in some scenarios.

* doc/guix.texi (Invoking guix build): Replace 'cut' by 'awk' in one of the
examples.
2021-07-15 16:12:04 -04:00
Ludovic Courtès 12c2648f4e
doc: cookbook: Adjust example to simplified input style.
* doc/guix-cookbook.texi (Extended example): Adjust example to new input
style and adjust "Inputs" section.
2021-07-12 10:59:36 +02:00
Ludovic Courtès bc7dd3f713
doc: cookbook: Remove trailing #t from extended example.
* doc/guix-cookbook.texi (Extended example): Remove trailing #t from
snippet and phases.
2021-07-12 10:53:32 +02:00
Ludovic Courtès f23803af20
Add 'guix style'.
* guix/scripts/style.scm, tests/style.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/POTFILES.in: Add 'guix/scripts/style.scm'.
* doc/guix.texi (Invoking guix style): New node.
(package Reference): Reference it.
(Invoking guix lint): Likewise.
2021-07-11 00:49:15 +02:00
Ludovic Courtès 04b2f3dd80
packages: Add 'modify-inputs'.
* guix/packages.scm (inputs-sans-labels, replace-input): New procedures.
(prepend, replace, modify-inputs): New macros.
* doc/guix.texi (Defining Package Variants): Document 'modify-inputs'.
* dir-locals.el: Add 'modify-inputs' and its keywords.
2021-07-11 00:49:14 +02:00
Ludovic Courtès ba32f63638
packages: Add 'lookup-package-input' & co.
* guix/packages.scm (lookup-input, lookup-package-input)
(lookup-package-native-input, lookup-package-propagated-input)
(lookup-package-direct-input): New procedures.
* doc/guix.texi (package Reference): Document them.
2021-07-11 00:49:14 +02:00
Ludovic Courtès b7f1b4c1d0
lint: Add 'input-labels' checker.
* guix/lint.scm (check-input-labels): New procedure.
(%local-checkers): Add 'input-labels' checker.
* tests/lint.scm ("input labels: no warnings")
("input labels: one warning"): New tests.
* doc/guix.texi (Invoking guix lint): Mention it.
2021-07-11 00:49:14 +02:00
Ludovic Courtès 8524349f78
packages: Allow inputs to be plain package lists.
* guix/packages.scm (add-input-label, sanitize-inputs): New procedures.
(<package>)[inputs, propagated-inputs, native-inputs]: Add 'sanitize' property.
* doc/guix.texi (Defining Packages, package Reference):
(Defining Package Variants): Adjust examples accordingly.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades, propagated inputs")
("transaction-upgrade-entry, grafts")
("package-transitive-inputs")
("package-transitive-supported-systems")
("package-closure")
("supported-package?")
("package-derivation, inputs deduplicated")
("package-transitive-native-search-paths")
("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted")
("package->bag, sensitivity to %current-target-system")
("package->bag, propagated inputs")
("package->bag, sensitivity to %current-system")
("package-input-rewriting/spec, identity")
("package-input-rewriting, identity"): Use the label-less input style.
2021-07-11 00:49:14 +02:00
Ludovic Courtès 580a031e7d
doc: Build manual translations with 'guile-3.0-latest'.
Fixes <https://bugs.gnu.org/47428>.
Reported by Leo Famulari <leo@famulari.name>.

* doc/build.scm (translated-texi-manuals): Explicitly use 'guile-3.0-latest'.
2021-07-09 17:33:46 +02:00
Mathieu Othacehe 74168d99bb
system: Provide mg instead of zile.
Since the update to the 2.6.2 release, the closure size of zile has
increased. Switch to mg which is lighter.

* gnu/system.scm (%base-packages-interactive): Replace zile by mg.
* doc/guix.texi (Proceeding with the Installation,
Using the Configuration System): Adapt those sections.
2021-07-09 12:08:12 +02:00
Efraim Flashner 49e2e75ced
gnu: %guile-3.0-static-stripped: Rename to %guile-static-stripped.
* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): Rename
to %guile-static-stripped.
(%guile-bootstrap-tarball): Adjust accordingly.
* gnu/system/linux-initrd.scm (expression->initrd): Use
%guile-static-stripped as default guile.
* doc/guix.texi (initial RAM disk)[expression->initrd]: Adjust
documentation accordingly.
2021-07-08 09:39:05 +03:00
Ludovic Courtès 7a9f4822c0
utils: Add 'search-input-directory'.
* guix/build/utils.scm (search-input-directory): New procedure.
* doc/guix.texi (Build Utilities): Document it next to
'search-input-file'.  Tweak wording.
2021-07-08 00:28:57 +02:00
Raghav Gururajan 02562e2f1e
services: Add bitmask-service-type.
* gnu/services/vpn.scm (bitmask-service-type): New variable.
* doc/guix.texi: Document it.

Co-authored-by: jgart <jgart@dismail.de>
2021-07-07 10:20:28 -04:00
Leo Prikler f17a52540f
doc: Fix broken reference in guix.texi.
This is a follow-up to c2ff06e5e4, in which
a link to the cookbook was added using a different name than the actual
section.

* doc/guix.texi (Using the Configuration System): Fix broken link to cookbook.
2021-07-07 11:19:34 +02:00
Joshua Branson c2ff06e5e4
doc: Add guide showing auto-login on a specific TTY to the cookbook.
This is a follow-up to the discussion in <https://bugs.gnu.org/48974>.

* doc/guix-cookbook.texi (System Configuration): Add a brief guide that
explains auto login a user to one TTY.

* doc/guix.texi (System Services): Add an texinfo anchor, so that the cookbook
entry "Auto Login a User to a Specific TTY" can refer back to the precise
point that the GNU Guix Reference manual.  Also add a reference to the
cookbook that shows how to auto login a specific user to one TTY.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-07-07 11:13:38 +02:00
Chris Marusich 586136d127
doc: Change Debbugs usertags user to "guix".
* doc/contributing.texi (Debbugs Usertags): Change the user for usertags from
"guix-devel@gnu.org" to "guix".  This was discussed on the guix-devel email
list: <https://lists.gnu.org/archive/html/guix-devel/2021-06/msg00212.html>.
2021-07-05 21:11:13 -07:00
Ludovic Courtès a2b22cae4f
doc: Fix typo.
* doc/guix.texi (Build Systems): Fix typo.
2021-07-04 23:00:36 +02:00
Hartmut Goebel 364db4fdf6
doc: Add a note and warning regarding the usage of deb packs.
* doc/guix.texi (Invoking guix pack): Move to the end of the table, and add a
note and warning regarding the usage of deb packs.
2021-06-30 14:43:36 -04:00
Maxime Devos d9e0ae07db
guix: gexp: Define gexp->approximate-sexp.
It will be used in the 'optional-tests' linter.

* guix/gexp.scm (gexp->approximate-sexp): New procedure.
* tests/gexp.scm
  ("no references", "unquoted gexp", "unquoted gexp (native)")
  ("spliced gexp", "unspliced gexp, approximated")
  ("unquoted gexp, approximated"): Test it.
* doc/gexp.scm ("G-Expressions"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-30 13:53:00 +02:00
Maxim Cournoyer 82daab4281
pack: Add support for the deb format.
* .dir-locals.el (scheme-mode)[gexp->derivation]: Define indentation rule.
* guix/scripts/pack.scm (debian-archive): New procedure.
(%formats): Register the new deb format.
(show-formats): Add it to the usage string.
* tests/pack.scm (%ar-bootstrap): New variable.
(deb archive with symlinks): New test.
* doc/guix.texi (Invoking guix pack): Document it.
* NEWS: Add news entry.
2021-06-29 14:53:21 -04:00
luhui fda0959a14
services: kmscon: Add keyboard-layout fields.
* gnu/services/base.scm (<kmscon-configuration>): Add keyboard-layout fields.
* doc/guix.texi (Base Services): Document them.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-29 19:01:25 +02:00
Domagoj Stolfa 66be80fabb
gnu: Add strongswan service.
* gnu/services/vpn.scm (<strongswan-configuration>): New record type.
(charon-plugins, strongswan-configuration-file)
(strongswan-shepherd-service, strongswan-service-type): New variables.
* doc/guix.tex (VPN Services): Document them all.
2021-06-25 00:39:32 +02:00
Raghav Gururajan 1bf1226a4f
services: certbot: Add option to use CSR file.
* gnu/services/certbot.scm (<certificate-configuration>): Add csr field.
(certbot-command): Modify.
* doc/guix.texi (Certificate Services): Document it.
2021-06-24 18:19:39 -04:00
Chris Marusich 3c86372e36
doc: Document the use of Debbugs usertags.
* doc/contributing.texi (Contributing): Update the short description of the
"Tracking Bugs and Patches" chapter in the menu.
(Tracking Bugs and Patches): Split this section into three new subsections,
titled "The Issue Tracker", "Debbugs User Interfaces", and "Debbugs Usertags".
Of these, only the "Debbugs Usertags" is actually new.
2021-06-23 21:56:29 -07:00
Tobias Geerinckx-Rice 9dea3f101f
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/cups.scm
	gnu/packages/python-web.scm
	gnu/packages/web.scm
	guix/build/maven/pom.scm
2021-06-23 18:45:21 +02:00
Tobias Geerinckx-Rice 828ceee7db
services: cups: Remove obsolete KeepAliveTimeout directive.
461bd4e501

* gnu/services/cups.scm (<cups-configuration>): Remove keep-alive-timeout field.
* doc/guix.texi (Printing Services): Likewise.
2021-06-23 03:26:33 +02:00
Tobias Geerinckx-Rice e254287b0c
services: cups: Fix ‘files-config’ typo/left-over.
* gnu/services/cups.scm (<policy-configuration>): Substitute
<files-configuration> for <files-config> in documentation.
* doc/guix.texi (Printing Services): Likewise.
2021-06-23 03:01:48 +02:00
Tobias Geerinckx-Rice c655bbb376
services: cups: Support CUPS 2.3.3op2's LogFileGroup directive.
* gnu/services/cups.scm (<files-configuration>): Add a log-file-group
field.
* doc/guix.texi (Printing Services): Document it.
2021-06-23 02:51:30 +02:00
Brice Waegeneire ef3f38ea00
services: openssh: Replace 'without-password' by 'prohibit-password'.
For some time, OpenSSH's option 'PermitRootLogin' has deprecated the
ambiguous argument 'without-password' with 'prohibit-password'.

* doc/guix.texi (Network Services): Replace 'without-password by
'prohibit-password.
* gnu/machine/digital-ocean.scm (guix-infect): Change system
configuration to use 'prohibit-password.
* gnu/services/ssh.scm (openssh-configuration): Change comment to use
'prohibit-password.
(openssh-config-file): Add support for 'prohibit-password to
'permit-root-login'.  Warn about deprecated 'without-password usage.
* gnu/tests/ganeti.scm (%ganeti-os): Replace 'without-password by
'prohibit-password.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-06-20 16:44:08 +02:00
Nicolas Goaziou ffe50737b2
doc: Fix a typo.
* doc/guix.texi (Substitute Server Authorization): Fix typo.
2021-06-19 23:51:25 +02:00
Marius Bakke 6f9a80b331
Merge branch 'master' into core-updates
Note: this merge actually changes the 'curl' and 'python-attrs' derivations,
as part of solving caf4a7a277 and
12964df69a respectively.

4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it
cannot currently be tested.

 Conflicts:
	gnu/local.mk
	gnu/packages/aidc.scm
	gnu/packages/boost.scm
	gnu/packages/curl.scm
	gnu/packages/nettle.scm
	gnu/packages/networking.scm
	gnu/packages/python-xyz.scm
	gnu/packages/tls.scm
2021-06-19 17:38:47 +02:00
Ludovic Courtès b5b9266e40
doc: Clarify Git commit signing; fix typo.
Suggested by Maxime Devos <maximedevos@telenet.be>
and Julien Lepiller <julien@lepiller.eu>.

* doc/contributing.texi (Commit Access): Clarify Git commit signing
setup and fix typo.
2021-06-18 14:18:07 +02:00
Ludovic Courtès d3d6d1c6eb
doc: Explain more reasons for commit revocation.
* doc/contributing.texi (Commit Revocation): Expound.
2021-06-18 14:18:07 +02:00
Ludovic Courtès d475134245
doc: Add "Addressing Issues" section.
* doc/contributing.texi (Addressing Issues): New section.

Co-authored-by: Christopher Baines <mail@cbaines.net>
2021-06-18 14:18:07 +02:00
Ludovic Courtès aaf4a0090f
doc: Structure the "Commit Access" section.
* doc/contributing.texi (Commit Access): Add introduction and section
heading.  Separate OpenPGP setup from commit policy.
2021-06-18 14:18:07 +02:00
Christopher Baines 4985a42724
Start enabling substitutes from bordeaux.guix.gnu.org.
In addition to substitutes from ci.guix.gnu.org.  There are more changes that
can be made in the future, but these changes seem like a good start.

* config-daemon.ac (guix_substitute_urls): Add https://bordeaux.guix.gnu.org.
* guix/scripts/substitute.scm (%default-substitute-urls): Add
http://bordeaux.guix.gnu.org.
* guix/store.scm (%default-substitute-urls): Add bordeaux.guix.gnu.org.
* doc/guix.texi: Adjust accordingly.
* doc/contributing.texi: Adjust accordingly.
2021-06-18 11:25:41 +01:00
Tobias Geerinckx-Rice 571dc36a69
doc: Update QEMU command line.
* doc/guix.texi (Invoking guix system): Substitute ‘-nic’ for the
obsolete ‘-net’.
2021-06-17 11:19:19 +02:00
Luis Felipe 0b5120fb03
doc: Fix reference to the bind package variable name.
* doc/guix.texi (Globally-Visible Packages): Change "bind" variable
name to the actual variable name, "isc-bind".

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-06-13 22:23:24 -04:00
Paul A. Patience 483f537081
doc, gnu, guix: Fix typos.
* doc/guix.texi: Fix various typos and reword a sentence.
* gnu/packages/cpp.scm (cpplint)[description]: Fix typo.
* gnu/packages/dns.scm (ldns): Fix typo in comment.
* gnu/packages/games.scm (yamagi-quake2): Fix typo in comment.
* gnu/packages/qt.scm (python-pyqtwebengine): Fix typo in comment.
* gnu/packages/rails.scm (ruby-autoprefixer-rails): Fix typo in comment.
* gnu/packages/syndication.scm (quiterss)[description]: Fix typo.
* gnu/packages/terminals.scm (kmscon): Fix typo in comment.
* gnu/packages/xml.scm (perl-xml-sax-base)[description]: Fix typo.
  (python-elementpath)[description]: Fix typo.
* guix/build/asdf-build-system.scm (output-translation): Fix typo in docstring.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-13 23:57:45 +02:00
Ludovic Courtès 6b752bd29a
doc: Update minimum Guile-Git version.
* doc/guix.texi (Requirements): Update Guile-Git version.
2021-06-08 09:07:36 +02:00
Xinglu Chen b8baebae6a
doc: Add reference for ‘git-version’ and ‘hg-version’.
* doc/contributing.texi (Version Numbers): Document ‘git-version’ and
  ‘hg-version’.
* doc/guix.texi (package Reference): Reference ‘Version Numbers’ section for
  version naming guidelines.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-06 23:12:17 +02:00
Marius Bakke 8d59c262ad
Merge branch 'master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/algebra.scm
	gnu/packages/bioinformatics.scm
	gnu/packages/curl.scm
	gnu/packages/docbook.scm
	gnu/packages/emacs-xyz.scm
	gnu/packages/maths.scm
	gnu/packages/plotutils.scm
	gnu/packages/python-web.scm
	gnu/packages/python-xyz.scm
	gnu/packages/radio.scm
	gnu/packages/readline.scm
	gnu/packages/tls.scm
	gnu/packages/xml.scm
	gnu/packages/xorg.scm
2021-06-06 21:16:32 +02:00
Matthew James Kraai f7331f06db
doc: Pluralize "package."
* doc/contributing.texi (Submitting Patches): Pluralize "package."

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-06-06 15:10:57 +02:00
Maxime Devos 5378edeab4
utils: Define ‘search-input-file’ procedure.
The procedure ‘which’ from (guix build utils)
is used for two different purposes:

  1. for finding the absolute file name of a binary
     that needs to run during the build process

  2. for finding the absolute file name of a binary,
     for the target system (as in --target=TARGET),
     e.g. for substituting sh->/gnu/store/.../bin/sh,
     python->/gnu/store/.../bin/python.

When compiling natively (target=#f in Guix parlance),
this is perfectly fine.

However, when cross-compiling, there is a problem.
"which" looks in $PATH for binaries.  That's good for purpose (1),
but incorrect for (2), as the $PATH contains binaries from native-inputs
instead of inputs.

This commit defines a ‘search-input-file’ procedure. It functions
like 'which', but instead of searching in $PATH, it searches in
the 'inputs' of the build phase, which must be passed to
‘search-input-file’ as an argument. Also, the file name must
include "bin/" or "sbin/" as appropriate.

* guix/build/utils.scm (search-input-file): New procedure.
* tests/build-utils.scm
  ("search-input-file: exception if not found")
  ("search-input-file: can find if existent"): Test it.
* doc/guix.texi (File Search): Document it.

Partially-Fixes: <https://issues.guix.gnu.org/47869>
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-04 22:34:26 +02:00
Solene Rapenne a9afff4beb
doc: Mention virtualization module and add missing closing parenthesis.
* doc/contributing.texi (Submitting Patches): Mention virtualization module
and add missing closing parenthesis.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-04 13:28:40 +02:00
Eric Brown ecbfa20609
doc: Fix example iptables configuration.
* doc/guix.texi (Networking Services): Allow established and related incoming
connections in example iptables configuration.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-06-04 00:11:47 +05:30
Xinglu Chen bdc298ecee
import: Add CHICKEN egg importer.
* guix/import/egg.scm: New file.
* guix/scripts/import/egg.scm: New file.
* tests/egg.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Register them.
* po/guix/POTFILES.in: Likewise.
* guix/scripts/import.scm (importers): Add egg importer.
* doc/guix.texi (Invoking guix import, Invoking guix refresh): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-03 13:05:18 +02:00
Ludovic Courtès 82d8ab01f5
maint: Require Guile 3.0.
* configure.ac: Require Guile 3.0.
* doc/guix.texi (Requirements): Adjust accordingly.
* gnu/packages/package-management.scm (guile2.2-guix): Remove.
* guix/lint.scm (exception-with-kind-and-args?): Remove 'cond-expand'.
* guix/scripts/deploy.scm (deploy-machine*): Likewise.
* guix/store.scm (call-with-store): Likewise.
* guix/swh.scm (http-get*, http-post*): Likewise.
* guix/ui.scm (without-compiler-optimizations, guard*)
(call-with-error-handling): Likewise.
2021-06-01 23:26:07 +02:00
Brice Waegeneire 8a0dc5f1bf
tests: Fix loadable-kernel-modules-service tests.
* gnu/tests/linux-modules.scm
(run-loadable-kernel-modules-service-test): Actually load the modules
with kernel-module-loader-service-type.  Use a singleton service instead
of defining a custom one.
* doc/guix.texi (Service Reference): To give an example of
linux-loadable-module-service-type use a singleton instead of defining a
new service.
2021-05-31 21:57:26 +02:00
Maxim Cournoyer b9ac7d9aaa
doc: Add a note about networking requirements for SSH access to VMs.
Fixes <https://issues.guix.gnu.org/48739>.  It may seem silly, but when not
realizing this firsthand, it can be quite surprising and thus not obvious to
troubleshoot.  Thanks to Eric Brown for their insightful comments on the
tracker.

* doc/guix.texi (Running Guix in a VM): Add a note that networking support
must be available in the Guix System operating system declaration used for the
VM.
2021-05-30 23:33:36 -04:00
Tobias Geerinckx-Rice d127fdd0e7
doc: Fix typos.
* doc/contributing.texi (Translating Guix): Fix ‘runnig’ typo.  Replace
‘target’ with ‘command’ to match the verb.  Fix ‘refered’ and ‘formating’
too.
2021-05-30 15:13:40 +02:00
Brendan Tildesley 338f012d8b
doc: lxqt-desktop-service: Update lxqt homepage url.
* doc/guix.texi: Replace lxqt.github.io with lxqt-project.org.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-29 20:16:51 +02:00
Ludovic Courtès 22f95a09eb
doc: Spell out the implications of disabling substitutes.
Suggested by elb on #guix.

* doc/guix.texi (Binary Installation): Add note explaining the
implications of disabling substitutes.
2021-05-28 23:04:43 +02:00
Efraim Flashner de393bd027
doc: Remove reference to mips64.
* doc/contributing.texi (Submitting Patches): Don't suggest building
packages for mips64.
2021-05-25 10:54:27 +03:00
Filip Lajszczak 4b08aad5e7
doc: Correct spelling
* doc/contributing.tex (Submitting Patches): Correct spelling of "acknowledgement"

Co-authored-by: Piotr Kaznowski <piotr@kazno.dev>
Signed-off-by: Marius Bakke <marius@gnu.org>
2021-05-23 17:49:57 +02:00
Filip Lajszczak c8d6fa7747
doc: Add information about first patch.
* doc/contributing.texi (Submitting Patches): Add information about first patch acnowledgement delay.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-22 23:44:57 +02:00
Marius Bakke 4ea6852c5f
Merge branch 'master' into core-updates 2021-05-22 17:21:57 +02:00
Tobias Geerinckx-Rice c0087d3370
The #guix channel is hosted by Libera Chat.
* README (Contact): Update network name.
* ROADMAP: Likewise.
* doc/contributing.texi (Contributing): Likewise.
* doc/guix.texi (After System Installation): Likewise.
2021-05-20 01:58:04 +02:00