Files
Compose-Files/Backups/Miker/.trash/run_once_install_1_post.sh.md
T
2026-07-20 09:23:17 -04:00

5.5 KiB

Copy this is a local sh (shell) file.

#!/bin/sh

# Software Installation Script
# Installs: AirVPN Eddie, EZA, Starship, VSCodium, Docker, Powerlevel10k, Trilium, Zoxide, FZF

set -e  # Exit on any error

# Get current user
CURRENT_USER=$(whoami)
USER_HOME="/home/$CURRENT_USER"

echo "Starting software installation for user: $CURRENT_USER"


echo "###############################################"
echo "###############################################"
echo "Installing AirVPN Eddie..."
echo "###############################################"
echo "###############################################"
curl -fsSL https://eddie.website/repository/keys/eddie_maintainer_gpg.key | sudo tee /usr/share/keyrings/eddie.website-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/eddie.website-keyring.asc] http://eddie.website/repository/apt stable main" | sudo tee /etc/apt/sources.list.d/eddie.website.list
sudo apt update
sudo apt install eddie-ui -y


echo "###############################################"
echo "###############################################"
echo "Installing EZA..."
echo "###############################################"
echo "###############################################"
sudo apt update
sudo apt install -y gpg
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
sudo apt update
sudo apt install -y eza


echo "###############################################"
echo "###############################################"
echo "Reset SSH directory permissions (if SSH directory exists)"
echo "###############################################"
echo "###############################################"
if [ -d "$USER_HOME/.ssh" ]; then
    echo "Setting SSH permissions..."
    chmod 700 "$USER_HOME/.ssh"
    if ls "$USER_HOME/.ssh"/*.pub 1> /dev/null 2>&1; then
        chmod 644 "$USER_HOME/.ssh"/*.pub
    fi
    if [ -f "$USER_HOME/.ssh/id_rsa" ]; then
        chmod 600 "$USER_HOME/.ssh/id_rsa"
    fi
fi

echo "###############################################"
echo "###############################################"
echo "Installing Zoxide..."
echo "###############################################"
echo "###############################################"
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

echo "Add zoxide init to shell configs if they exist"
if [ -f "$USER_HOME/.zshrc" ]; then
    if ! grep -q "zoxide init zsh" "$USER_HOME/.zshrc"; then
        echo 'eval "$(zoxide init zsh)"' >> "$USER_HOME/.zshrc"
    fi
fi

if [ -f "$USER_HOME/.bashrc" ]; then
    if ! grep -q "zoxide init bash" "$USER_HOME/.bashrc"; then
        echo 'eval "$(zoxide init bash)"' >> "$USER_HOME/.bashrc"
    fi
fi


echo "###############################################"
echo "###############################################"
echo "Installing fastfetch"
echo "###############################################"
echo "###############################################"
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt update
sudo apt install fastfetch


echo "###############################################"
echo "###############################################"
echo "Installing Alacritty"
echo "###############################################"
echo "###############################################"
sudo apt install snapd
sudo snap install alacritty --classic


echo "###############################################"
echo "###############################################"
echo "Performing system cleanup..."
echo "###############################################"
echo "###############################################"
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
sudo apt autoclean -y


echo "###############################################"
echo "###############################################"
echo "Installing Starship..."
echo "###############################################"
echo "###############################################"
curl -sS https://starship.rs/install.sh | sh


echo "###############################################"
echo "###############################################"
echo "Installing Powerlevel10k..."
echo "###############################################"
echo "###############################################"
sudo apt install git wget curl -y
if [ ! -d "$USER_HOME/powerlevel10k" ]; then
    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "$USER_HOME/powerlevel10k"
fi
# Only add to .zshrc if it exists and line isn't already there
if [ -f "$USER_HOME/.zshrc" ]; then
    if ! grep -q "powerlevel10k.zsh-theme" "$USER_HOME/.zshrc"; then
        echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >> "$USER_HOME/.zshrc"
    fi
else
    echo "Warning: .zshrc not found. Powerlevel10k source line not added."
fi


echo "###############################################"
echo "###############################################"
echo "Installation complete!"
echo "###############################################"
echo "###############################################"
echo "Note: You may need to log out and back in for Docker group membership to take effect."
echo "Note: Restart your shell or source your shell config files to use new tools."
echo ""
echo "Please install the following apps manually"
echo "Install Terraform autocomplete for Zsh"
echo "Add flyctl completion to .zshrc"