You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.8 KiB
Bash
72 lines
1.8 KiB
Bash
# This install script is for a debian based distro
|
|
# Ideally a minimal install (No GUI, or tools installed)
|
|
|
|
# This install will install only tools for CLI use
|
|
# The idea is to have GUI, etc. seperated then called in one 'master' script
|
|
|
|
# Update and Upgrade the system first
|
|
apt update && apt upgrade -y
|
|
|
|
# Install essential tools required for other installs
|
|
apt install sudo build-essential ssh -y
|
|
|
|
# Make the user a sudoer (If passed to the script)
|
|
adduser nathan sudo
|
|
|
|
# Network Installs
|
|
apt install network-manager -y
|
|
|
|
# System Utilities
|
|
apt install perl wget curl man -y
|
|
|
|
# Make the terminal usable*
|
|
apt install tmux zsh -y
|
|
|
|
## Text Editors
|
|
apt install vim neovim -y
|
|
apt install groff -y
|
|
|
|
## Git
|
|
apt install git tig -y
|
|
|
|
# Compression Utilities
|
|
apt install gzip zip tar bzip2 unrar -y
|
|
|
|
# Install terminal system utilities
|
|
apt install neofetch htop -y
|
|
|
|
# Backups
|
|
apt install rsync rdiff-backup -y
|
|
|
|
# VPN
|
|
apt install openvpn -y
|
|
|
|
HOME=/home/nathan/
|
|
# lf file manager
|
|
sudo -H -u nathan bash -c "mkdir $HOME/.local $HOME/.local/bin"
|
|
sudo -H -u nathan bash -c "curl -LO https://github.com/gokcehan/lf/releases/latest/download/lf-linux-amd64.tar.gz | tar -xf -C $HOME/.local/bin"
|
|
|
|
# Vi mode terminal and local bin
|
|
# This also happens in dotfiles, so kinda redundant
|
|
echo "set -o vi\nexport PATH=\$HOME/.local/bin:\$PATH" >> .zshrc
|
|
echo "export PATH=\$HOME/.local/bin/*:\$PATH" >> .zshrc
|
|
# Add to path for this session
|
|
export PATH=\$HOME/.local/bin/:$PATH
|
|
export PATH=\$HOME/.local/bin/dmenu:$PATH
|
|
|
|
# *Make the terminal usable
|
|
## Change default shell to zsh
|
|
chsh nathan -s /bin/zsh
|
|
|
|
## Oh my Zsh
|
|
sudo -H -u nathan bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
|
|
|
|
# Firewall
|
|
apt install ufw -y
|
|
systemctl --now enable ufw
|
|
ufw enable
|
|
ufw default deny incoming
|
|
ufw default allow incoming
|
|
ufw allow 22 # Allow SSH
|
|
|