A collection of system configuration and package installation scripts for various Linux distributions.
| Distribution | Tested On |
|---|---|
| Ubuntu/Debian-like (apt) | Ubuntu Desktop 24.04.3 LTS |
| Arch-based (pacman + yay + aur) | Omarchy 3.2.0 (Hyprland) |
| Fedora/Nobara/RHEL-like (dnf) | Fedora 43 Workstation |
This project provides a modular installation script that automatically detects your distribution and sets up a complete development and multimedia environment. It handles:
- System Essentials: Basic tools (curl, git, unzip) and shell setup (Fish).
- Languages: Go, Rust (via rustup), and Node.js (via nvm).
- CLI Tools: Starship, Atuin, Nitch, Bat, Zellij, Zoxide.
- Apps: VS Code Insiders, Chrome, Edge, Docker, DBeaver, and design tools.
- Fonts: Optimized installation of specific Nerd Fonts and Monaspace.
- Configs: Automatic dotfiles linking for Alacritty, Fish, Starship, etc.
- A supported Linux distribution.
- Download this repository:
Click the green "Code" button and select "Download ZIP", or clone it using Git:
git clone https://github.com/yourusername/linux-systems-configs.git
cd linux-systems-configs-
Run the installation script:
bash install.sh
-
Follow the prompts (you will need to enter your sudo password).
-
Restart your computer or log out/in to apply all changes (especially for group changes like Docker and shell changes).
The installation logic is modularized in the scripts/ directory:
install.sh: Main entry point and orchestrator.scripts/system.sh: Base system packages and directories.scripts/languages.sh: Programming language environments (Go, Rust, Node/NVM).scripts/cli_tools.sh: Terminal utilities and shell prompts.scripts/apps.sh: GUI applications and Docker.scripts/fonts.sh: Font installation (downloads only specific fonts to save bandwidth).scripts/configs.sh: Dotfiles management.scripts/utils.sh: Helper functions and package manager detection.
- Languages: Go, Rust, Node.js (LTS via NVM)
- Editors: VS Code Insiders, Micro
- Terminal: Ghostty, Alacritty, Konsole
- Shell: Fish (default), Starship (prompt)
- Tools: Docker, Docker Compose, DBeaver CE, Insomnia, Git, JQ, Net-tools
- NPM Global: gtop, localtunnel, svgo, vercel
- Atuin: Shell history sync
- Bat: Better
cat - LSD: Better
ls - Nitch: System fetch
- Zellij: Terminal multiplexer
- Zoxide: Smarter
cd - cmatrix: Matrix-style animation
- Hyprmon: System monitor and resource manager for Hyprland (installed automatically when Hyprland is detected)
- Apps: OBS Studio, Krita, Inkscape, Gimp, Darktable, VLC, Cheese
- Browsers: Google Chrome, Microsoft Edge
- Flameshot: Screenshot tool
- Solaar: Logitech device manager
- xclip: Clipboard utility
- Nerd Fonts: JetBrainsMono, FiraCode, Hack, Meslo, GeistMono, Iosevka
- Monaspace: GitHub's new font family
- Fork the repository.
- Create a feature branch.
- Modify the relevant scripts in
scripts/. - Open a pull request.
This project is licensed under the GNU General Public License v3.0.
