This kit installs your preferred tools on a fresh Arch Linux KDE VM using pacman (for official repos) and yay (for AUR). Package names are grouped by category (one file per category) and you can freely mix repo + AUR entries; the script auto-detects which backend to use per package.
# 1) Extract this zip and cd into the folder
cd arch-kde-bootstrap
# 2) Run the bootstrap (no need to run as root; it will sudo when needed)
bash bootstrap.sh- Edit the package lists in
lists/before running if you want. - The script will:
- Ensure pacman is tuned (color + parallel downloads)
- Install
yay(AUR helper) if missing - Install everything from the lists (each list may contain both repo and AUR packages)
- Configure Ghostty, Starship (catppuccin-powerline), Oh My Zsh plugins, fonts
- Apply your provided
.zshrc - Apply your global git config
- Create
~/.scripts/update.shand an aliasuto run it
Note: Lists are unified now (no
.pacman/.aursplit). For each package the script first checks if it's in the official repos (fast pacman path) and otherwise installs it viayayfrom AUR.
Current category files (repo + AUR mixed):
lists/01-fontslists/02-clilists/03-shelllists/04-terminallists/05-devlists/06-browserslists/07-apps
You can add/remove packages line-by-line. Lines starting with # are ignored.
Simple webapp installer available as a shell function:
- Prefers Brave browser for better privacy
- Available as
webapp-installcommand after bootstrap
Install webapps from your terminal:
# Interactive mode
webapp-install
# Direct installation
webapp-install "GitHub" "https://github.com" "https://icon-url.png"Preview actions without installing:
bash bootstrap.sh --dry-run
Preview actions without installing:
bash bootstrap.sh --dry-run
Advanced usage options:
# Normal installation
./bootstrap.sh
# Dry run to see what would be done
./bootstrap.sh --dry-run
# Verbose output for debugging
./bootstrap.sh --verbose
# Dry run with verbose output
./bootstrap.sh --dry-run --verbose
# Show help
./bootstrap.sh --helpThe bootstrap automatically sets up a Node.js development environment using nvm. After installation:
- Node.js LTS is installed via
nvm - nvm is configured for your shell and initialized in
.zshrc - Python is available from the system (with
uvfor package management)
Node.js can be managed using nvm commands:
# Use the installed Node.js version
nvm use node
# Install a specific version
nvm install 18.20.0
# List installed versions
nvm list- Ghostty config at
~/.config/ghostty/config(catppuccin-mocha, dark, 0.9 opacity) - Starship theme preset written to
~/.config/starship.toml - Oh My Zsh with plugins:
git,git-prompt,zsh-autosuggestions,zsh-syntax-highlighting,python - Your .zshrc (from this repo) copied to
~(existing one is backed up) - Git globals (name, email, editor)
- Fonts are refreshed with
fc-cache -fv - Node.js LTS via
nvmfor development - Development tools including VS Code, Neovim, and various CLI tools
- Safety: Added dry-run validation and environment checks
- Debugging: Verbose mode for troubleshooting
- Reliability: Better error handling and recovery
- User Experience: Clear progress phases and better messaging
- Maintainability: Cleaner code structure and documentation
- Modern tooling: Uses
nvmfor Node.js version management