guix-install.sh: Add symbolic links for supported shell completions.

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

* etc/guix-install.sh (sys_create_shell_completion): New function to add
system wide all the symlinks for supported shell completions.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
zimoun 2020-10-13 19:12:04 +02:00 committed by Ludovic Courtès
parent 4dd989708c
commit b3fba5ef04
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 22 additions and 0 deletions

View File

@ -5,6 +5,7 @@
# Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
# Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
#
# This file is part of GNU Guix.
#
@ -459,6 +460,26 @@ export XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/us
EOF
}
sys_create_shell_completion()
{ # Symlink supported shell completions system-wide
var_guix=/var/guix/profiles/per-user/root/current-guix
bash_completion=/etc/bash_completion.d
zsh_completion=/usr/share/zsh/site-functions
fish_completion=/usr/share/fish/vendor_completions.d
{ # Just in case
for dir_shell in $bash_completion $zsh_completion $fish_completion; do
[ -d "$dir_shell" ] || mkdir -p $dir_shell
done;
ln -sf ${var_guix}/etc/bash_completion.d/* "$bash_completion";
ln -sf ${var_guix}/share/zsh/site-functions/* "$zsh_completion";
ln -sf ${var_guix}/share/fish/vendor_completions.d/* "$fish_completion"; } &&
_msg "${PAS}installed shell completion"
}
welcome()
{
cat<<"EOF"
@ -516,6 +537,7 @@ main()
sys_enable_guix_daemon
sys_authorize_build_farms
sys_create_init_profile
sys_create_shell_completion
_msg "${INF}cleaning up ${tmp_path}"
rm -r "${tmp_path}"