Automated setup script for configuring a fresh Debian system.
- Tested only on Debian 13 (Trixie)
- Intended for a regular desktop environment (GNOME/KDE/XFCE)
- Not intended for Docker or headless environments
- Requires a user with sudo privileges
- git and curl installed
- Internet connection
bash <(curl -fsSL https://raw.githubusercontent.com/Biblink02/debian-postinstall/main/start.sh)Note: the installer runs in non-interactive mode by default where it installs all the packages and applications (AUTO=1).
To enable prompts use:
AUTO=0 bash <(curl -fsSL https://raw.githubusercontent.com/Biblink02/debian-postinstall/main/start.sh)- Runs system update and upgrade
- Installs APT packages interactively
- Installs optional custom applications interactively
- Merges config files into $HOME
- Handles user secrets via ~/.secrets
- Installs deb-get packages only if deb-get is available
curl git htop build-essential nethogs bluetooth bluez pulseaudio-module-bluetooth libspa-0.2-bluetooth tree git-credential-oauth wireguard
localsend google-chrome-stable discord linuxtoys lsd fd sublime-text
deb-get-install.sh Installs deb-get
node-npm-install.sh Installs NVM + Node.js LTS
docker-install.sh Installs Docker CE
telegram-install.sh Installs Telegram Desktop
jetbrains-toolbox-install.sh Install Jetbrains Toolbox
bashrc → ~/.bashrc (merged)
profile → ~/.profile (merged)
gitconfig → ~/.gitconfig
secrets → variable names for ~/.secrets prompt input
Stored in ~/.secrets with chmod 600. Ensure ~/.profile contains:
if [ -f ~/.secrets ]; then
. ~/.secrets
fi- JetBrains Toolbox requires GUI
- deb-get packages are skipped automatically if deb-get isn't installed
- Script is interactive by design