An opinionated Arch Linux-based developer workstation.
raud is an experiment in building a reproducible Linux environment from a clean Arch Linux installation.
The long-term goal is to evolve raud into a small developer-focused Linux distribution with its own installation flow, configuration model, update mechanism, and eventually a bootable ISO.
The goal of v0.1 is intentionally small:
Clean Arch Linux
↓
git clone raud
↓
./install.sh
↓
reboot
↓
ready developer workstation
- Arch Linux
- Hyprland
- Waybar
- Ghostty
- Wofi
- Zsh as the interactive shell
- Bash for system scripts
- PipeWire
- NetworkManager
- Docker
- Java 21
- Kubernetes tooling
- Neovim
raud/
├── README.md
├── install.sh
├── bin/
│ └── raud
├── patterns/
│ ├── base.txt
│ ├── desktop.txt
│ └── dev.txt
└── config/
├── ghostty/
├── hypr/
└── waybar/
The structure will evolve as raud gains support for Forge configuration, Patterns, Rites, and updates.
raud uses a small and consistent vocabulary inspired by forging, machinery, and industrial systems.
| Concept | raud term |
|---|---|
| Distribution | raud |
| Build system | Forge |
| Machine configuration | Pattern |
| Package sets | Patterns |
| Migration | Rite |
| Health check | Doctor |
| Host / machine | Forge |
The vocabulary is part of the project architecture rather than decoration. New concepts should reuse this language where it makes sense instead of introducing generic or inconsistent naming.
Examples:
raud doctor
raud forge
patterns/base.txt
patterns/desktop.txt
patterns/dev.txt
rites/001-initial-setup.sh
The aesthetic should remain subtle: industrial, mechanical, and forge-inspired.
raud should remain a standalone Linux project rather than directly borrowing names, terminology, or lore from existing fictional universes.
v0.1 expects an existing minimal Arch Linux installation with:
- internet access
- a non-root user
sudogit
Clone the repository:
git clone <repository-url>
cd raudRun the installer:
./install.shAfter installation, reboot and verify the environment:
raud doctor- Keep the base system simple.
- Prefer official Arch packages.
- Avoid unnecessary dependencies.
- Installation should be repeatable and idempotent.
- User shell configuration must not affect system tooling.
- Automate decisions instead of documenting manual setup steps.
- Treat configuration as reproducible state.
- Prefer explicit conventions over hidden magic.
- Add complexity only when it solves a real problem.
- Keep raud terminology consistent across code, CLI, and documentation.
Reproducible Arch-based developer workstation.
Clean Arch
↓
raud installer
↓
Patterns
↓
configured workstation
↓
raud doctor
Introduce a stronger configuration model based on Patterns and improve developer tooling.
Expand the raud CLI and introduce the Forge abstraction.
Add Rites for migrations, updates, and rollback support.
Bootable raud installation image.
Early development. Expect things to break.