Commit graph

338 commits

Author SHA1 Message Date
Liliana Marie Prikler
55f6d9e818
etc: completion: Filter gratuitous spaces from available packages.
Tested with:

  guix environment --{ad-hoc,pure} zsh guix bash-completion coreutils -- zsh
  % fpath=(~/guix/etc/completion/zsh $fpath)
  % autoload -U compinit; compinit

* etc/completion/zsh/_guix (_guix_list_available_packages): Remove spaces.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-10-24 20:17:05 +02:00
Sarah Morgensen
f8b10932c8
Add git configuration templates to improve diff hunk header detection.
This is a follow-up to commit 9fc8ae4171, which
missed two hunks from <https://issues.guix.gnu.org/50363>.

Reported by hackeryarn on #guix.

* .gitattributes, etc/git/gitconfig: New files.

Signed-off-by: Marius Bakke <marius@gnu.org>
2021-10-14 00:24:34 +02:00
Ludovic Courtès
2ad1ef8446
disarchive-manifest: Provide valid 'version' string.
* etc/disarchive-manifest.scm <top level>: Turn 'version' field into a
string.
2021-10-09 01:02:18 +02:00
Tobias Geerinckx-Rice
ed14bc2984
bash completion: Fix ‘system’ & ‘container’ subcommands.
* etc/completion/bash/guix (_guix_complete): Count words from the
innermost command.
2021-10-03 19:23:49 +02:00
Tobias Geerinckx-Rice
d71cfaea30
bash completion: Complete ‘guix size’ file names.
* etc/completion/bash/guix (_guix_complete): Complete store file names
after the ‘size’ command.
2021-10-03 19:23:49 +02:00
Tobias Geerinckx-Rice
9e3355d2a3
bash completion: Complete ‘guix build’ file names.
* etc/completion/bash/guix
(_guix_complete_available_package_or_store_file): New function.
(_guix_complete): Call it in place of _guix_complete_available_package
after the ‘build’ command.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
ee5e4779e2
bash completion: Complete ‘guix weather’ packages.
* etc/completion/bash/guix (_guix_complete): Complete available package
names for ‘guix weather’ when not following ‘-m’.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
17f76b209c
bash completion: Append to $COMPREPLY where possible.
_guix_complete is always called with a fresh empty array.

* etc/completion/bash/guix (_guix_complete_command)
(_guix_complete_subcommand, _guix_complete_installed_package)
(_guix_complete_option, _guix_complete_pid): Append to $COMPREPLY rather
than re-assigning.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
6fba67df19
bash completion: Consolidate similar $command ‘if’ branches.
* etc/completion/bash/guix (_guix_complete): Combine the ‘upgrade’ and
‘remove’ commands, as well as ‘download’, ‘gc’, and ‘hash’.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
e4ed0b3969
guix-install.sh: Don't swallow wget errors.
Using ‘-q’ suppresses *all* stderr output, including errors.

* etc/guix-install.sh (chk_gpg_keyring, guix_get_bin_list, guix_get_bin):
Substitute ‘--no-verbose’ for ‘-q’.

Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-09-29 16:56:40 +02:00
Florian Pelz
4687ee9cac
news: Adapt 'de' translation.
* etc/news.scm: Mention that Guix Home is a "technology preview".
2021-09-29 10:40:45 +02:00
Ludovic Courtès
62180be2ee
news: Mention that Home is a "technology preview".
* etc/news.scm: Mention that Home is a "technology preview".
2021-09-28 15:43:00 +02:00
Florian Pelz
1c1bfe681a
news: Add 'de' translation.
* etc/news.scm: Add German translation of Guix Home entry.
2021-09-27 23:47:53 +02:00
Oleg Pykhalov
6ae4644984
Merge branch 'wip-guix-home' 2021-09-27 17:27:12 +03:00
Andrew Tropin
a2b937984a
news: Add entry about Guix Home.
* etc/news.scm: Add entry.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-27 17:27:02 +03:00
Florian Pelz
d96582f810
news: Add 'de' translation.
* etc/news.scm: Add German translation of 'guix graph -M' entry.
2021-09-23 08:51:48 +02:00
Florian Pelz
84db46783b
news: Add 'de' translation.
* etc/news.scm: Add German translation of fallback to SWH entry.
2021-09-23 08:33:10 +02:00
Ludovic Courtès
09289d0d2b
news: Add entry for Git clone fallback to SWH.
Suggested by zimoun.

* etc/news.scm: Add entry.
2021-09-22 16:14:39 +02:00
Ludovic Courtès
9102512748
news: Add entry for "guix graph -M".
* etc/news.scm: Add entry.
2021-09-21 15:16:20 +02:00
Xinglu Chen
3d15a19874
etc: committer: Amend previous commit if a copyright line was added.
Previously, the script would raise an error if a copyright line was added to a
file in gnu/packages/.  With this change, it will amend the previous commit
whenever a copyright line is added, and add the copyright line to the commit.

* etc/committer.scm.in (add-copyright-line): New procedure.
(main): Check if a copyright line was added and call ‘add-copyright-line’ if
necessary.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
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
Ludovic Courtès
98712c14fe
etc: Add 'disarchive-manifest.scm'.
* etc/disarchive-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2021-09-14 11:50:58 +02:00
Ludovic Courtès
3b758dd22d
etc: Add 'source-manifest.scm'.
* etc/source-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2021-09-14 11:50:58 +02:00
Noah Evans
a8dd285d5a
zsh completion: Add missing commands and arguments.
* etc/completion/zsh/_guix (_guix_install, _guix_remove, _guix_upgrade):
  New functions.
  (_guix_build, _guix_challenge, _guix_download, _guix_environment,
  _guix_packages, _guix_gc, _guix_hash, _guix_lint, _guix_package,
  _guix_publish, _guix_pull, _guix_refresh, _guix_size, _guix_system):
  Add some of the missing arguments.
  (_guix_cmds): Add missing commands.

Co-authored-by: Brice Waegeneire <brice@waegenei.re>
2021-08-28 17:57:50 +02:00
Sarah Morgensen
80fc776a61
etc/committer: Pass command-line arguments to main.
* etc/committer.scm.in: Call main with command line arguments.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-08-10 17:32:19 +02:00
Sarah Morgensen
73177859bc
etc/committer: Support custom commit messages.
Allow custom change commit messages by supplying a commit message and
optionally a changelog message as arguments.

* etc/committer.scm.in (break-string-with-newlines)
(custom-commit-message): New procedures.
(main)[change-commit-message*]: New sub-procedure. Use them.
(main): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-08-10 17:32:19 +02:00
Maxime Devos
50c2dcd1c9
etc: committer: Support reading G-expressions.
Some package definitions use G-expressions (see, e.g., chez-scheme).
Import (guix gexp) such that Guile knows how to read those.
Otherwise, an exception such as the following might be raised:

ERROR: In procedure read:
In procedure scm_lreadr: gnu/services/networking.scm:480:16: Unknown # object: #\~

* etc/committer.scm.in: Import (guix gexp).

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2021-08-07 14:01:20 +02:00
Maxim Cournoyer
073904c553
guix-install.sh: Untabify.
* etc/guix-install.sh (sys_create_build_user): Normalize to spaces.
2021-07-14 08:50:22 -04:00
Maxim Cournoyer
4cbe0127a6
guix-install.sh: Prompt for configuring substitutes discovery.
Also ensure prompt_yes_no always print the message with a trailing space,
which is more pleasing to the eye.

* etc/guix-daemon.conf.in <--discover=no>: New guix-daemon option.
* etc/guix-daemon.service.in: Likewise.
* etc/init.d/guix-daemon.in: Likewise.
* etc/openrc/guix-daemon.in: Likewise.
* etc/guix-install.sh (configure_substitute_discovery): New procedure.
(sys_enable_guix_daemon): Ask the user whether automatic substitute discovery
should be enabled.  Set the '--discover' argument accordingly.
(prompt_yes_no): Add a trailing space to the message.
(sys_authorize_build_farms): Remove trailing space from the message argument.
* NEWS (Distribution): Add news.
2021-07-07 23:54:20 -04:00
Hartmut Goebel
7f06567b83
guix-install.sh: No longer export GUIX_PROFILE.
If GUIX_PROFILE is exported here, any subsequent
"source /some/other/profile/etc/profile" will set variables pointing to
"$HOME/.guix-profile" instead of pointing to the sourced profile.

* etc/guix-install.sh (sys_create_init_profile): No longer export GUIX_PROFILE.
2021-07-07 21:25:16 +02:00
Florian Pelz
20dfda3d9e
news: Add 'de' translation.
* etc/news.scm: Add German translation of 'guix pack --format=deb' entry.
2021-06-30 16:02:29 +02:00
Maxim Cournoyer
6396f0c235
news: Add entry for the new 'deb' guix pack format.
* etc/news.scm: Add entry.
2021-06-29 15:01:10 -04:00
Xinglu Chen
d822c59243
etc: snippets: Use ‘hg-file-name’ when origin uses ‘hg-fetch’
Adjust to changes in commit aaafd19bd1.

* etc/snippets/scheme-mode/guix-origin: Use ‘hg-file-name’ instead of
‘string-append’ when ‘method’ for origin is ‘hg-fetch’.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-26 22:45:28 +02:00
Tobias Geerinckx-Rice
fa0dc1229c
bash_completion: Complete options for ‘guix environment’.
Note that there are still plenty of bugs that this series didn't fix,
e.g.:

  $ guix time-machine -- system reconf<Tab>

* etc/completion/bash/guix (_guix_complete): Call _guix_complete_option
if the word at point looks like an option.
2021-06-16 12:13:39 +02:00
Tobias Geerinckx-Rice
dc3ba8c836
bash completion: Complete options for the right command.
* etc/completion/bash/guix (_guix_complete_option): Receive two
arguments and complete the second based on the first, instead
of blindly completing the very last word based on the very first
(sub)command.
(_guix_complete): Adjust both calls.
2021-06-16 12:13:39 +02:00
Tobias Geerinckx-Rice
80a17aae79
bash completion: Really support subcommands.
* etc/completion/bash/guix (_guix_is_option): New function.
(_guix_is_command): Remove function to replace it with simple string
comparison…
(_guix_complete): …here.  Complete the ‘innermost’ command at point.
2021-06-16 12:13:39 +02:00
Tobias Geerinckx-Rice
0b17dc4aae
etc: indent-code.el: Remove any existing tabs.
* etc/indent-code.el (main): Call UNTABIFY on the sexp or entire buffer.
2021-06-12 10:26:02 +02:00
Ludovic Courtès
f9d8206e5b
news: Fix typo.
* etc/news.scm: Remove 'x' introduced by mistake in
dfdcd9d812.
2021-06-08 09:07:36 +02:00
Christopher Baines
26499816a9
etc: Add "bordeaux.guix.gnu.org.pub" public key file.
* etc/substitutes/bordeaux.guix.gnu.org.pub: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
* guix/self.scm (miscellaneous-files): Add
"share/guix/bordeaux.guix.gnu.org.pub".
2021-06-07 11:31:17 +01:00
Florian Pelz
dfdcd9d812
news: Add 'de' translation.
* etc/news.scm: Add German translation of 'guix import egg' entry.
2021-06-05 13:58:20 +02:00
Xinglu Chen
c78d6c60cf
news: Add entry for 'guix import egg'.
* etc/news.scm: Add entry.
2021-06-03 13:06:52 +02:00
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
Marius Bakke
35bd94a492
etc: Add more SELinux permissions for the daemon.
* etc/guix-daemon.cil.in (guix_daemon): Add more permissions, necessary for
garbage collection.
2021-05-22 19:53:17 +02:00
Maxim Cournoyer
b7cbca221f
Merge branch 'version-1.3.0' 2021-05-11 22:42:59 -04:00
Maxim Cournoyer
74009c4cf0
guix-install.sh: Exit early if Guix is already installed.
* etc/guix-install.sh (sys_create_store): Move the check & exit before The
Guix binary archive is unpacked.  Re-indent tar extraction command.
2021-05-05 11:01:07 -04:00
Maxim Cournoyer
5b0ce3393b
guix-install.sh: Propose automatically fetching OpenPGP keys.
Via, for example, yes | ./guix-install.sh.

* etc/guix-install.sh (prompt_yes_no): New procedure.
(chk_gpg_keyring, sys_authorize_build_farms): Use it.
2021-05-05 11:01:07 -04:00
Maxim Cournoyer
e61fe664a4
guix-install.sh: Please the shellcheck linter.
* etc/guix-install.sh <FUNCNAME>: Explicitly refer to the first item of the
FUNCNAME array.
(ROOT_HOME): Replace variable by ~root directly; manually expanding it via
echo was not necessary.
(chk_gpg_keyring): Use an if branch for the exit to avoid a warning about
expression precedence.
(chk_term) <ansi_term>: Remove unused variable.
(guix_get_bin) <wget, gpg>: Test the commands directly.  Use an array for the
wget arguments, which can then be properly expanded.
(sys_create_store): Disable SC1090 for the source command, as we don't care
about following the sourced script.
<_msg>: Reuse the GUIX_PROFILE variable in the message.
(sys_create_build_user) <getent>: Test the command directly.
2021-05-05 11:01:06 -04:00
Ricardo Wurmus
570b3d32b9
etc: Break long lines in commit messages.
* etc/committer.scm.in (break-string): New procedure.
(change-commit-message): Use it.
2021-05-04 11:52:23 +02:00
Maxim Cournoyer
e64af2060e
guix-install.sh: Add support for more than one signing key.
The forthcoming 1.3.0 release will be signed with my personal GnuPG key; the
installation script needs to tell users how to fetch it.

* etc/guix-install.sh (OPENPGP_SIGNING_KEY_ID): Remove variable.
(GPG_SIGNING_KEYS): New associative array.
(chk_gpg_keyring): Process all the keys contained in the above array.
(main) <GUIX_BINARY_FILE_NAME>: Double quote variable.
2021-05-01 01:24:16 -04:00
Maxim Cournoyer
bf1628038c
guix-install.sh: Ensure GUIX_BINARY_FILE_NAME is an absolute path.
This is necessary as the directory context is changed in the script, breaking
the use of a relative path.

* etc/guix-install.sh (main) <GUIX_BINARY_FILE_NAME>: Resolve its absolute
path via the 'realpath' command.
2021-05-01 01:23:08 -04:00