diff --git a/apt-cacher/setup.sh b/apt-cacher/setup.sh new file mode 100755 index 00000000..c28e783e --- /dev/null +++ b/apt-cacher/setup.sh @@ -0,0 +1,2 @@ +#!/bin/bash +sudo apt install squid-deb-proxy-client \ No newline at end of file diff --git a/setup.sh b/setup.sh old mode 100644 new mode 100755 index f7b540bf..96a4ab69 --- a/setup.sh +++ b/setup.sh @@ -1,14 +1,11 @@ #!/bin/bash -# Exit immediately if a command exits with a non-zero status. -set -e - -# Default icon value (empty if not provided) -icon="" +# Default terminal icon value (empty if not provided) +terminal_icon="" # Function to display script usage usage() { - echo "Usage: $0 [--icon ]" + echo "Usage: $0 [--terminal-icon ]" exit 1 } @@ -17,8 +14,8 @@ while [[ $# -gt 0 ]]; do key="$1" case $key in - --icon) - icon="$2" + --terminal-icon) + terminal_icon="$2" shift # past argument shift # past value ;; @@ -29,57 +26,17 @@ while [[ $# -gt 0 ]]; do esac done -# Function to install Fish shell -install_fish() { - echo "Installing Fish shell..." - sudo apt update - sudo apt install -y fish -} - -# Function to set Fish as the default shell -set_default_fish() { - echo "Setting Fish as the default shell..." - chsh -s $(which fish) +configure_terminal() { + echo "Configuring terminal..." + sudo chmod +x ./terminal/setup.sh + ./terminal/setup.sh --icon "$terminal_icon" } -# Function to install Starship -install_starship() { - echo "Installing Starship..." - curl -sS https://starship.rs/install.sh | sh -s -- -y -} +configure_apt_cacher() { + echo "Configuring apt-cacher..." + sudo chmod +x ./apt-cacher/setup.sh + ./apt-cacher/setup.sh +} -# Function to configure Starship for Fish -configure_starship() { - echo "Configuring Starship for Fish..." - mkdir -p ~/.config/fish - echo 'starship init fish | source' >> ~/.config/fish/config.fish -} - -# Function to overwrite starship.toml -overwrite_starship_toml() { - if [ -f "./terminal/starship.toml" ]; then - echo "Overwriting starship.toml..." - cp ./terminal/starship.toml ~/.config/starship.toml - - # Check if icon parameter is provided - if [ ! -z "$icon" ]; then - echo "Adding icon [$icon](bg:color_purple fg:color_white) to starship.toml..." - # Escape special characters in icon variable for sed - escaped_icon=$(printf '%s\n' "$icon" | sed -e 's/[]\/$*.^[]/\\&/g') - sed -i "5i\[$escaped_icon](fg:color_white bg:color_purple)\\\\" ~/.config/starship.toml - fi - - else - echo "starship.toml not found in the repository." - exit 1 - fi -} - -# Main script execution -install_fish -set_default_fish -install_starship -configure_starship -overwrite_starship_toml - -echo "Fish shell and Starship prompt setup complete!" +configure_terminal +configure_apt_cacher diff --git a/terminal/setup.sh b/terminal/setup.sh new file mode 100755 index 00000000..f7b540bf --- /dev/null +++ b/terminal/setup.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status. +set -e + +# Default icon value (empty if not provided) +icon="" + +# Function to display script usage +usage() { + echo "Usage: $0 [--icon ]" + exit 1 +} + +# Parse command-line options +while [[ $# -gt 0 ]]; do + key="$1" + + case $key in + --icon) + icon="$2" + shift # past argument + shift # past value + ;; + *) + # unknown option + usage + ;; + esac +done + +# Function to install Fish shell +install_fish() { + echo "Installing Fish shell..." + sudo apt update + sudo apt install -y fish +} + +# Function to set Fish as the default shell +set_default_fish() { + echo "Setting Fish as the default shell..." + chsh -s $(which fish) +} + +# Function to install Starship +install_starship() { + echo "Installing Starship..." + curl -sS https://starship.rs/install.sh | sh -s -- -y +} + +# Function to configure Starship for Fish +configure_starship() { + echo "Configuring Starship for Fish..." + mkdir -p ~/.config/fish + echo 'starship init fish | source' >> ~/.config/fish/config.fish +} + +# Function to overwrite starship.toml +overwrite_starship_toml() { + if [ -f "./terminal/starship.toml" ]; then + echo "Overwriting starship.toml..." + cp ./terminal/starship.toml ~/.config/starship.toml + + # Check if icon parameter is provided + if [ ! -z "$icon" ]; then + echo "Adding icon [$icon](bg:color_purple fg:color_white) to starship.toml..." + # Escape special characters in icon variable for sed + escaped_icon=$(printf '%s\n' "$icon" | sed -e 's/[]\/$*.^[]/\\&/g') + sed -i "5i\[$escaped_icon](fg:color_white bg:color_purple)\\\\" ~/.config/starship.toml + fi + + else + echo "starship.toml not found in the repository." + exit 1 + fi +} + +# Main script execution +install_fish +set_default_fish +install_starship +configure_starship +overwrite_starship_toml + +echo "Fish shell and Starship prompt setup complete!"