Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gandromidas/debianinstaller
Debian Post-Installation Script
https://github.com/gandromidas/debianinstaller
debian linux linuxmint mxlinux popos ubuntu
Last synced: about 1 month ago
JSON representation
Debian Post-Installation Script
- Host: GitHub
- URL: https://github.com/gandromidas/debianinstaller
- Owner: GAndromidas
- License: mit
- Created: 2024-07-13T19:26:03.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-09-12T00:38:50.000Z (4 months ago)
- Last Synced: 2024-10-13T17:41:43.760Z (3 months ago)
- Topics: debian, linux, linuxmint, mxlinux, popos, ubuntu
- Language: Shell
- Homepage:
- Size: 56.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Debian Installation Script
## Description
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.
![debianinstaller](https://github.com/GAndromidas/debianinstaller/blob/main/debianinstaller.png)
## Features
- **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`, and `ufw`.
- **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.## Usage
### Prerequisites
- Ensure you have `sudo` privileges on the system.
- The script is designed for Debian-based distributions (e.g., Ubuntu, Pop!_OS, Debian).### Installation
1. **Clone the repository** (or place the script in the desired location):
```bash
git clone https://github.com/GAndromidas/debianinstaller
cd debianinstaller
```2. **Run the script**:
```bash
./install.sh
```### Script Options
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.### Customization
- **Configurations**: Custom `.zshrc` and `starship.toml` files can be placed in the `configs/` directory of the script's repository before running the script. These will be automatically copied to the appropriate locations.
### Post-Installation
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.## Troubleshooting
- 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.## Contributing
Feel free to fork the repository and submit pull requests with enhancements, bug fixes, or new features.
## License
This script is open-source and available under the MIT License. See the `LICENSE` file for more details.