mirror of
https://github.com/alvinlollo/Single-install-script.git
synced 2026-06-15 03:04:26 +10:00
105 lines
2.9 KiB
Bash
Executable File
105 lines
2.9 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
clear
|
|
echo '
|
|
____ _ _ _ _ _
|
|
| __ ) _ _ __ _| |_ _(_)_ __ | | ___ | | | ___
|
|
| _ \| | | | / _ | \ \ / / | _ \| |/ _ \| | |/ _ \
|
|
| |_) | |_| | | (_| | |\ V /| | | | | | (_) | | | (_) |
|
|
|____/ \__ | \__ _|_| \_/ |_|_| |_|_|\___/|_|_|\___/
|
|
|___/
|
|
|
|
--------------- Single Download script ---------------
|
|
'
|
|
|
|
# Fail on any command.
|
|
set -eux pipefail
|
|
|
|
# Install prerequisites
|
|
sudo apt update
|
|
sudo apt install -y git zsh curl git build-essential whiptail uidmap
|
|
sudo apt full-upgrade -y
|
|
|
|
# Do not print commands
|
|
set +x
|
|
echo '
|
|
|
|
--------------- Oh-My-zsh Install ---------------
|
|
|
|
'
|
|
# Print commands
|
|
set -x
|
|
|
|
sudo apt install zsh fzf -y
|
|
|
|
# Installs Oh-My-Zsh
|
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
|
|
|
# Install plugins
|
|
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
|
|
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
|
git clone https://github.com/z-shell/zsh-eza ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-eza
|
|
git clone --depth 1 https://github.com/unixorn/fzf-zsh-plugin.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-zsh-plugin
|
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
|
|
|
# Enable exit on error
|
|
set -eu
|
|
set +x
|
|
echo '
|
|
|
|
--------------- Oh-My-zsh plugins ---------------
|
|
|
|
'
|
|
set -x
|
|
# Backup old config file if it exists
|
|
cp .zshrc .zshrc.backup
|
|
|
|
# Download and replace config file
|
|
curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/.zshrc -o ~/.zshrc
|
|
|
|
# Setup fzf
|
|
mkdir -p ~/.fzf/shell
|
|
touch ~/.fzf/shell/key-bindings.zsh
|
|
|
|
# Do not print commands
|
|
set +x
|
|
echo '
|
|
--------------- Docker install ---------------
|
|
|
|
'
|
|
set -x
|
|
|
|
# Do not fail (in case the OS is not supported)
|
|
set +eux
|
|
curl -fsSL https://get.docker.com | sh
|
|
|
|
# Fail on any command.
|
|
set -eux
|
|
|
|
# Install rootless mode
|
|
sudo sh -eux <<EOF
|
|
# Install newuidmap & newgidmap binaries
|
|
apt-get install -y uidmap
|
|
EOF
|
|
dockerd-rootless-setuptool.sh install
|
|
|
|
# Do not print commands
|
|
set +x
|
|
echo '
|
|
--------------- apt packages Install ---------------
|
|
|
|
'
|
|
set -x
|
|
# Install personal apt packages
|
|
sudo apt install -y python3 python3-pip git htop golang figlet irssi cmatrix neofetch cowsay fortune-mod tint smartmontools udevil samba cifs-utils mergerfs tty-clock lolcat libsass1 dpkg npm python3 needrestart lynx wget curl zsh net-tools network-manager tmux --fix-missing
|
|
|
|
sudo apt full-upgrade -y
|
|
|
|
|
|
# Do not print commands
|
|
set +x
|
|
|
|
# Done message :)
|
|
echo "Done installing please star my repo: https://github.com/alvinlollo/Single-install-script"
|
|
echo "Reboot reccommended, run zsh a few times to fix configurations"
|