Fixes a regression introduced in
9b0a755f64 whereby 'guix build TAB' would
not suggest any completion.
* etc/completion/bash/guix (_guix_complete): Arrange so 'guix build TAB'
completes available packages.
* etc/guix-install.sh (chk_require): Because of the set -e option, Bash was
exiting when the command `command -v "$c" &>/dev/null' was running on its
own. Instead, we now test the command and accumulate warning messages in a
single statement by chaining the command with a logical OR.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* etc/guix-install.sh (ROOT_HOME): New variable.
(sys_create_store, sys_enable_guix_daemon, sys_authorize_build_farms):
Use ROOT_HOME instead of ~root or the HOME environment variable.
* doc/guix.texi (Binary Installation): Instead of assuming that ~ and
$HOME refer to root's directory simply because commands are being run
as root, explicilty refer to it via ~root.
Fixes: <https://bugs.gnu.org/30728>
* etc/completion/fish/guix.fish: New file.
* Makefile.am: Register the file.
* configure.ac: Add the fish vendor-completions directory.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The 'task' means that events that led to this job starting will be blocked
until it has stopped. Tasks are short lived jobs, whereas the guix-daemon is a
long lived service. Including 'task' means that attempts to start the
guix-daemon appear to hang, as upstart waits for it to exit.
* etc/guix-daemon.conf.in: Remove 'task'.
* etc/indent-code.el.in: Set default directory by "indent-code.el"
itself, otherwise it works only when called from the top directory of
the guix source tree.
Otherwise, users will be stuck running an old copy of guix and the guix-daemon
if they copy the service files instead of symlinking them.
* etc/guix-daemon.conf.in, etc/guix-daemon.service.in, etc/guix-publish.conf.in,
etc/guix-publish.service.in: Expand @localstatedir@ instead of @bindir@.
* nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Use @localstatedir@
instead of @bindir@.
Reported by a couple of cool folks at a bar in Brussels.
* etc/completion/bash/guix (_guix_complete): Use '_guix_complete_file'
for 'guix gc'. This fixes completion of 'guix gc -d'.
* configure.ac: Check for 'emacs', substitute 'EMACS', and emit
'etc/indent-package.el'.
* etc/indent-package.el.in: New file.
* doc/contributing.texi (Formatting Code): Mention
'etc/indent-package.el'.
(Submitting Patches): Likewise, and link to the above node.
Co-authored-by: Alex Kost <alezost@gmail.com>
* .gitignore: add etc/guix-publish.conf and /etc/guix-publish.service.
* etc/guix-publish.conf.in: New file.
* etc/guix-publish.service.in: New file.
* nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Generalized former
build-rules for by using patterns.
(nodist_systemdservice_DATA): Add etc/guix-publish.service, update
comment.
(nodist_upstartjob_DATA): Add etc/guix-publish.conf, update comment.
* doc/guix.texi (Invoking guix publish): Add description for enabling
"guix publish" on host distros using the new files.
* etc/completion/bash/guix (_guix_complete_subcommand): New function.
(_guix_complete_option): Allow completion of subcommand options.
(_guix_complete): Use '_guix_complete_subcommand' for "system" and
"import".
This avoids spurious messages when pressing TAB.
* etc/completion/bash/guix (_guix_complete_available_package)
(_guix_complete_installed_package, _guix_complete_option)
(_guix_complete): Redirect stderr to /dev/null when running 'guix'.
* etc/completion/bash/guix (_guix_complete_available_package): Cache the list
of available packages in '_guix_available_packages' and use it.
(_guix_complete): Cache the list of subcommands in '_guix_subcommands' and
use it.