diff options
-rwxr-xr-x | etc/guix-install.sh | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/etc/guix-install.sh b/etc/guix-install.sh index f07b2741bb..22d54c0c83 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -16,6 +16,7 @@ # Copyright © 2024 Janneke Nieuwenhuizen <[email protected]> # Copyright © 2024 Tomas Volf <[email protected]> # Copyright © 2024 Richard Sent <[email protected]> +# Copyright © 2025 Denis 'GNUtoo' Carikli <[email protected]> # # This file is part of GNU Guix. # @@ -691,12 +692,31 @@ sys_create_shell_completion() [ -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"; } && + # Don't use globing here as we also need to delete the files when + # uninstalling Guix + ln -sf ${var_guix}/etc/bash_completion.d/guix "$bash_completion"; + ln -sf ${var_guix}/etc/bash_completion.d/guix-daemon "$bash_completion"; + ln -sf ${var_guix}/share/zsh/site-functions/_guix "$zsh_completion"; + ln -sf ${var_guix}/share/fish/vendor_completions.d/guix.fish "$fish_completion"; } && _msg "${PAS}installed shell completion" } +sys_delete_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 + + _msg "${INF}removing shell completion" + + rm -f "$bash_completion"/guix; + rm -f "$bash_completion"/guix-daemon; + rm -f "$zsh_completion"/_guix; + rm -f "$fish_completion"/guix.fish; +} + sys_customize_bashrc() { prompt_yes_no "Customize users Bash shell prompt for Guix?" || return 0 @@ -884,6 +904,7 @@ main_uninstall() # clean up the system sys_delete_init_profile sys_delete_build_user + sys_delete_shell_completion # these directories are created on the fly during usage. _msg "${INF}removing /etc/guix" |