#!/usr/bin/env bash
# Script tested on Debian 12 (bookworm)
# Install date
date +"%A, %d %B %Y %I:%M:%S %P" > ._installed_at && chmod 440 ._installed_at
# Passwordless
sudo -u root -H sh -c "echo '$USER ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/$USER"
sudo chmod -v 0440 /etc/sudoers.d/"$USER"
# Apps
sudo apt update && sudo apt upgrade -y
apps=(htop curl wget git zsh vim neovim tree nmap tmux jq exa bat fzf fd-find ripgrep \
btop hstr progress dnsutils lsof ranger sqlite3 figlet nala fail2ban)
sudo apt install -y ${apps[@]}
# mise-en-place -- https://mise.jdx.dev/
curl https://mise.run | sh
# Packages links
sudo ln -s /usr/bin/batcat /usr/local/bin/bat
sudo ln -s /usr/bin/fdfind /usr/local/bin/fd
# Figlet Fonts
cd /usr/share/figlet
sudo wget https://raw.githubusercontent.com/xero/figlet-fonts/master/ANSI%20Shadow.flf
# CONFIG ZSH (using https://github.com/z-shell/zi)
# Config files
curl -s https://pastebin.com/raw/NhJ5TsCj | tr -d "\r" > ~/.bash_aliases
curl -s https://pastebin.com/raw/9b1TYMZJ | tr -d "\r" > ~/.gitconfig
curl -s https://pastebin.com/raw/UPsjmrB5 | tr -d "\r" > ~/.tmux.conf
curl -s https://pastebin.com/raw/95Pm8sXi | tr -d "\r" > ~/.vimrc
curl -s https://pastebin.com/raw/tqXJqe8N | tr -d "\r" > ~/.zshrc
. ~/.bash_aliases
# Use config files in root (Optional)
## using cp: sudo cp -v .bash_aliases .bashrc .vimrc /root
sudo find .bash_aliases .bashrc .vimrc -exec ln -s $PWD/{} /root/{} \;
# Change default shell to ZSH
chsh -s $(which zsh)
# LS_COLORS (Optional) https://raw.githubusercontent.com/trapd00r/LS_COLORS/master/lscolors.sh
lsfile=$HOME/.local/share/zap/plugins/LS_COLORS/lscolors.sh
sed -i -s 's/di=38;5;30/di=38;5;33;1/g' $lsfile # Directory (blue 33)
sed -i -s 's/ex=38;5;208;1/ex=38;5;40/g' $lsfile # Executable (green 40)
# Change prompt
PROMPT="PS1='\[\e[31m\]\u\[\e[m\]\[\e[33m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]:\[\e[36m\]\w\[\e[m\]\$ '"
grep -q '^PS1=' .bashrc || echo $PROMPT >> .bashrc
Comments