#!/bin/bash

# Installing alternative shells
echo -e "${GREEN}Installing alternative shells...${DEFAULT}"

# Installing and configuring Zsh
echo -e "${BLUE}Setting up Zsh and Powerline...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "zsh powerline"

# Installing and configuring Fish
echo -e "${BLUE}Setting up Fish...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "fish"
mkdir -p ~/.config/fish/

# Installing prompt themes
echo -e "${BLUE}Installing Oh-My-Posh...${DEFAULT}"
check_installation "yay -S --noconfirm --needed" "oh-my-posh"

# Installing navigation and search tools
echo -e "${GREEN}Installing navigation and search tools...${DEFAULT}"

# Zoxide - An intelligent cd that learns your habits
echo -e "${BLUE}Setting up Zoxide and FZF...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "zoxide fzf"

# Installing modern alternatives to classic Unix commands
echo -e "${GREEN}Installing modern Unix tools...${DEFAULT}"

# lsd - A modern ls with a icons and coloring
echo -e "${BLUE}Installing lsd...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "lsd"

# rip - A modern alternative to rm
echo -e "${BLUE}Installing rip (rm-improved)...${DEFAULT}"
check_installation "yay -S --noconfirm --needed" "rm-improved-git"

# bat - A modern cat with syntax highlighting
echo -e "${BLUE}Installing bat...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "bat"

# ripgrep - A modern alternative to grep
echo -e "${BLUE}Installing ripgrep...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "ripgrep"

# fd - A modern alternative to find
echo -e "${BLUE}Installing fd...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "fd"

# sd - A modern alternative to sed
echo -e "${BLUE}Installing sd...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "sd"

# Installing maintenance tools
echo -e "${GREEN}Installing maintenance tools...${DEFAULT}"

# Topgrade - Universal update tool
echo -e "${BLUE}Installing Topgrade...${DEFAULT}"
check_installation "yay -S --noconfirm --needed" "topgrade"

# Tealdeer - A fast implementation of tldr
echo -e "${BLUE}Installing TLDR (tealdeer)...${DEFAULT}"
check_installation "sudo pacman -S --noconfirm --needed" "tealdeer"

# Delta - A viewer for git and diff output
echo -e "${BLUE}Installing Delta...${DEFAULT}"
check_installation "yay -S --noconfirm --needed" "git-delta"

# Changing the default shell to Fish
echo -e "${GREEN}Setting Fish as default shell...${DEFAULT}"
chsh -s $(which fish)

echo -e "${GREEN}Shell configuration completed${DEFAULT}"
