Files
dotfiles/install/02-fish.sh
Andrejus 638c907c06 further cleanup
update docs and tests
2020-03-03 17:49:10 +00:00

59 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# After running this script:
# 1. fish shell is installed
# 2. fish shell is default login shell
# 3. fish dotfiles are symlinked
# 4. fisher is installed
#
# 1. fish shell is installed
if not_installed "fish"; then
printf "Installing fish...\n"
# Add fish repository
add_ppa "fish-shell/release-3"
update
# Install fish
install fish
fi
printf "fish is installed\n"
fish --version
# 2. fish shell is default login shell
current_shell="$(getent passwd $USER | cut -d: -f7)"
fish_path="$(which fish)"
if [ "$current_shell" != "$fish_path" ]; then
printf "setting fish as default, current shell was $current_shell\n"
# Update default login shell
sudo chsh -s "$fish_path" "$USER"
sudo usermod -s "$fish_path" "$USER"
fi
printf "fish is default login shell\n"
# 3. fish dotfiles are symlinked
fish_source="$dotfiles_dir/fish"
fish_target="$XDG_CONFIG_HOME/fish"
link_folder "$fish_source" "$fish_target"
printf "fish dotfiles linked\n"
# 4. fisher is installed
fisher_location="$XDG_CONFIG_HOME/fish/functions/fisher.fish"
if ! [ -f "$fisher_location" ]; then
printf "Installing fisher...\n"
# Install fisher
curl https://git.io/fisher --create-dirs -sLo "$fisher_location"
fi
printf "fisher is installed, updating...\n"
fish -c "fisher"
fish -c "fisher --version"