An automated Arch Linux rice installation script for the terminally online
A comprehensive dotfiles deployment and package installation script that transforms a fresh Arch Linux installation into a fully configured, aesthetically pleasing development environment.
BloodRitual automates the installation of:
- Terminal Emulators: Alacritty, Kitty, Ghostty
- Window Managers: Hyprland, Niri (+ Hyprland ecosystem tools)
- Ricing Tools: Waybar, EWW, SWWW
- Editors: Neovim, Helix
- Browsers: Brave, Zen, Firefox variants, Chromium, Vivaldi
- Security Tools: Burp Suite, SQLMap, Wireshark, Tor, Proxychains
- System Monitors: Btop, Gotop, Nvtop, Fastfetch, Cava
- Development Tools: Docker, DBeaver, Arduino IDE, VirtualBox
- Media Players: VLC, MPV, MPC
- And much more...
Plus, it clones and deploys your personal dotfiles from the repository.
- Arch Linux (or Arch-based distro)
- AUR Helper:
yayorparu - Git: For cloning repositories
- Internet Connection: For downloading packages
# Install an AUR helper if you don't have one
# For paru:
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
# For yay:
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si# Download the script
curl -O https://raw.githubusercontent.com/c45p14n/BloodRitual/main/BloodRitual.sh
# Make it executable
chmod +x BloodRitual.sh
# Run the ritual
./BloodRitual.sh- Banner Display: Shows the Caspian ASCII art
- Dependency Check: Verifies Git and AUR helper are installed
- Package Installation: Installs all packages from the list
- Repository Clone: Clones dotfiles from GitHub
- File Deployment: Copies config files to
~/.config/ - Cleanup: Removes temporary files (unless
KEEP_REPO=true)
The script deploys the following dotfiles:
| Source | Destination |
|---|---|
Caspian-Shell |
~/.config/caspian-shell |
alacritty |
~/.config/alacritty |
btop |
~/.config/btop |
cava |
~/.config/cava |
eww |
~/.config/eww |
fastfetch |
~/.config/fastfetch |
helix |
~/.config/helix |
hypr |
~/.config/hypr |
kitty |
~/.config/kitty |
mpd |
~/.config/mpd |
mpv |
~/.config/mpv |
niri |
~/.config/niri |
nvim |
~/.config/nvim |
rofi |
~/.config/rofi |
shellcnfgs |
~/shellcnfgs |
Edit the PACKAGES array in the script:
readonly PACKAGES=(
"your-package-here"
"another-package"
)Update the repository URL:
readonly REPO_URL="https://github.com/your-username/your-dotfiles.git"Set this to preserve the repo after installation:
readonly KEEP_REPO=true # Default: falseAdd or remove config file destinations:
declare -A FILE_MAPPINGS=(
["source-dir"]="$HOME/.config/destination"
)- Automatic Backups: Existing configs are backed up with timestamps
- Cleanup on Exit: Temporary files are removed automatically
- Error Handling: Script exits on errors with clear messages
- Skip Installed: Won't reinstall already-installed packages
- Logging: Color-coded output for info, success, warnings, and errors
- Fork the BloodRitual repository
- Modify the
REPO_URLto point to your fork - Customize
PACKAGESandFILE_MAPPINGS - Add your own dotfiles to the repository
# In FILE_MAPPINGS section, add:
["your-config-dir"]="$HOME/.config/your-config-dir"After running the script:
- Reboot or re-login to apply changes
- Launch Hyprland (if using as WM)
- Check logs at
~/.local/share/hypr/for any issues - Customize further - edit config files in
~/.config/
This script is provided as-is. Use at your own risk. Always review scripts before running them on your system.
Found a bug or want to add features?
- Open an issue on GitHub
- Submit a pull request
- Fork and customize for your needs
This script makes significant changes to your system. It's recommended to:
- Run on a fresh installation
- Review the package list before executing
- Have backups of important data
- Understand what each package does
Made with ☕ and sleep deprivation
May your ricing journey be glorious and your configs forever portable.