https://github.com/usernotnull/linux-setup
Modular, automated bash scripts for setting up a custom Linux environment (Debian/Ubuntu). Installs packages, configures system, and manages user apps (Flatpak, AppImage).
https://github.com/usernotnull/linux-setup
Last synced: 10 days ago
JSON representation
Modular, automated bash scripts for setting up a custom Linux environment (Debian/Ubuntu). Installs packages, configures system, and manages user apps (Flatpak, AppImage).
- Host: GitHub
- URL: https://github.com/usernotnull/linux-setup
- Owner: usernotnull
- License: mit
- Created: 2025-11-23T10:43:58.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-12-21T13:01:29.000Z (6 months ago)
- Last Synced: 2025-12-21T13:40:38.952Z (6 months ago)
- Language: Shell
- Size: 1.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 Linux System Setup
This repository contains a modular, automated bash script pipeline for setting up a customized Linux environment (primarily targeting Debian/Ubuntu-based systems).
This system separates installation, configuration, and user application setup into distinct, manageable modules.
## ✨ Features
- **Modular Design:** Separate scripts for APT packages, system configuration, third-party repositories, and user applications (Flatpak, AppImage).
- **Automated Installation:** Installs a wide range of essential software, drivers, and utilities in one go.
- **System Configuration:** Handles core configurations like TLP (Power Management) and UFW (Firewall) rules.
- **User-Specific Setup:** Installs user-level applications (like Espanso and Flatpaks) into the correct user profile, even when the main script runs as root.
- **Dynamic Downloads:** Automatically finds and downloads the latest versions of GitHub releases (e.g., ripgrep, fastfetch).
## 💻 How to Run
To set up a new machine, use the following one-liner command to download, extract, and execute the installation pipeline.
```bash
sudo apt update -qq && sudo apt install -y wget unzip && \
wget -q "https://github.com/usernotnull/linux-setup/archive/main.zip" -O "linux-setup.zip" && \
unzip -q "linux-setup.zip" && \
sudo "./linux-setup-main/install-step-1-as-sudo.sh" && \
"./linux-setup-main/install-step-2-as-user.sh" && \
rm -rf "linux-setup-main" "linux-setup.zip"
```