This script is designed for setting up a Debian-based system (such as Ubuntu, Pop!_OS, Debian) with various configurations and installations. It automates the installation of essential tools, services, and configurations to streamline the setup process for both desktop and server environments.
- Dependency Installation: Ensures all necessary dependencies are installed before proceeding with other tasks.
- System Update: Updates the system and refreshes Snap and Flatpak packages if available.
- Kernel Headers Installation: Installs the necessary kernel headers and build essentials.
- Media Codecs: Installs media codecs for Ubuntu and Pop!_OS.
- ZSH & Oh-My-ZSH: Installs ZSH, Oh-My-ZSH, and useful plugins, then sets ZSH as the default shell.
- Starship Prompt: Installs and configures the Starship prompt.
- Nerd Fonts: Installs JetBrainsMono Nerd Font.
- Service Management: Enables and configures essential services like
fstrim.timer
,ssh
, andufw
. - Firewall Configuration: Configures UFW firewall, allowing SSH and KDE Connect (if installed).
- Fastfetch: Installs and configures Fastfetch for system information display.
- Fail2Ban: Optional installation of Fail2Ban for added security.
- System Cleanup: Clears unused packages and cache and removes the script's working directory.
- Reboot Prompt: Prompts the user to reboot the system after completing all tasks.
- Ensure you have
sudo
privileges on the system. - The script is designed for Debian-based distributions (e.g., Ubuntu, Pop!_OS, Debian).
-
Clone the repository (or place the script in the desired location):
git clone https://github.com/GAndromidas/debianinstaller cd debianinstaller
-
Run the script:
./install.sh
When you run the script, you will be presented with an installation menu:
- Desktop Installation: Installs desktop-specific tools and configurations.
- Server Installation: Installs server-specific tools and configurations.
- Exit: Exits the script.
- Configurations: Custom
.zshrc
andstarship.toml
files can be placed in theconfigs/
directory of the script's repository before running the script. These will be automatically copied to the appropriate locations.
After running the script:
- Review the installed tools and configurations.
- If any installations or configurations failed, re-run the script or manually install the tools.
- The script offers an option to reboot the system after completion.
- Ensure all dependencies are installed and accessible.
- If the script fails, it will provide error messages to help diagnose the issue.
- Run the script with
bash -x install.sh
for detailed debugging output.
Feel free to fork the repository and submit pull requests with enhancements, bug fixes, or new features.
This script is open-source and available under the MIT License. See the LICENSE
file for more details.