23 lines
590 B
Bash
Executable File
23 lines
590 B
Bash
Executable File
#!/bin/bash
|
|
# run_once_99-set-shell.sh
|
|
# Sets the user's default login shell to fish.
|
|
# TODO prompt which shell
|
|
|
|
set -euo pipefail
|
|
|
|
if ! command -v fish >/dev/null 2>&1; then
|
|
echo ">>> [set-shell] fish not installed; skipping"
|
|
exit 0
|
|
fi
|
|
|
|
USER_NAME="${USER:-$(id -un)}"
|
|
current_shell="$(getent passwd "$USER_NAME" | cut -d: -f7)"
|
|
|
|
if [ "$current_shell" = "$(command -v fish)" ]; then
|
|
echo ">>> [set-shell] shell already set to fish"
|
|
exit 0
|
|
fi
|
|
|
|
echo ">>> [set-shell] changing shell for $USER_NAME to $(command -v fish)"
|
|
sudo chsh -s "$(command -v fish)" "$USER_NAME" || true
|