Life Arch is Life!
"Laibarch" and the mascot are an unofficial homage to Laibach. Not affiliated with, endorsed by, or connected to Laibach or NSK. Tux is by Larry Ewing. Original artwork rights belong to their respective owners.
My Arch Linux rice. DWL window manager, LUKS encryption, automated installation.
📖 User Guide - Essential keyboard shortcuts and system usage
bash .local/share/ricing/create-repo-iso.shmount /dev/sr0 /mnt/repo # or sr1, check with lsblk
bash /mnt/repo/.local/share/ricing/laibarch-install.shPhase 1 (auto-detected): Partitioning, LUKS encryption, base system, bootloader.
mount /dev/sr0 /mnt/repo
bash /mnt/repo/.local/share/ricing/laibarch-install.shPhase 2 (auto-detected): User creation, package installation, DWL build, service setup.
Reboot and DWL starts automatically.
- Automated from bare metal to working system in two phases
- Full disk encryption with LUKS
- DWL Wayland compositor with custom bar patch
- Wayland-native stack (no X11 dependencies except slstatus)
- Status bar with clickable widgets for:
- Temperature
- volume
- network
- battery
- bluetooth
- calendar
- TUI applications predominance (lazygit, neovim, sqlit, etc)
- Blue light filter with automatic geolocation (geoclue + gammastep)
This is a home directory git repository. The entire $HOME is tracked with selective .gitignore:
~/ # Git root
├── .config/ # Config files
│ ├── alacritty/
│ ├── nvim/
│ ├── systemd/user/ # User services (battery/temp monitors)
│ ├── tmux/
│ └── zsh/
├── .local/
│ ├── bin/ # User scripts
│ │ ├── battery-monitor.sh
│ │ ├── brightness.sh # Universal brightness (laptop + desktop)
│ │ ├── dwl-autostart.sh
│ │ ├── dwl-status-click.sh
│ │ └── temp-monitor.sh
│ ├── share/ricing/ # Installation scripts
│ │ ├── laibarch-install.sh
│ │ ├── programs.txt # Package list
│ │ └── scripts/
│ └── src/ # Patched sources
│ ├── dwl/ # DWL with bar patch
│ └── slstatus/ # Status bar (will migrate to dwlb)
├── system-config/ # System configs (geoclue, etc.)
└── README.md # This file
- Window Manager: DWL (Wayland) with custom bar (clickable widgets)
- Terminal: Alacritty + Tmux (auto-starts)
- Shell: Zsh (default) + Bash (fallback)
- Network: iwd + NetworkManager (iwd backend)
- Audio: PipeWire + WirePlumber
- Editor: Neovim 0.10.4 (from binary)
- Languages: C#, Node.js, Python
- Tools: Git, GitHub CLI, Lazygit, sqlit, lazysql
- Browser: Brave
- Media: mpv, mupdf, ncmpcpp
- Utils: Obsidian, Syncthing, Calcurse, yazi
- AUR: yay (built during install)
Default applications configured via XDG MIME system in ~/.config/mimeapps.list:
- Text/Code: neovim (all
text/*types including C#, Python, JSON, Markdown, shell scripts) - PDF: mupdf
- Images: swayimg
- Video/Audio: mpv
- Web: Brave
- File Manager: yazi
MIME types auto-detect file types by content and extension. To change defaults: edit ~/.config/mimeapps.list or use xdg-mime default <app.desktop> <mime/type>. Yazi respects both XDG defaults and its own rules in ~/.config/yazi/yazi.toml.
- Gaming: Steam (Flatpak), Slack (AUR)
See programs.txt for complete list (93 packages).
Works on both laptops and desktops:
- Laptops: Uses
brightnessctl(built-in backlight) - Desktops: Uses
ddcutil(DDC/CI protocol for external monitors) - Keybindings:
MODKEY+Shift+-/MODKEY+Shift+=
Shows highest temperature across all devices:
- Desktop: Monitors CPU (k10temp), GPU (amdgpu), NVMe
- Laptop: Falls back to ACPI thermal zones
- Click widget for detailed temps
- VMs (libvirt/QEMU with
/dev/vda) - NVMe systems (
/dev/nvme0n1) - SATA systems (
/dev/sda) - AMD Ryzen 9 7900 + RX 6750 XT
- Dell 7347 laptop
Two dwl binaries exist for different use cases:
| Binary | Description |
|---|---|
dwl |
Work mode — normal gaps, bar, standard tiling |
dwl-game |
Game mode — no gaps, no bar, master window spans both monitors |
Login always starts dwl. To switch to game mode:
- Exit dwl:
MOD+Shift+Q - From the TTY, run:
dwl-game - Launch Steam across both monitors:
xsteam
To return to work mode, exit dwl and run dwl (or just re-login).
See [.local/share/ricing/README.md] for details on how the binaries are built and how to rebuild them.
After laibarch installation completes, the system is fully functional with:
- ✅ DWL compositor running
- ✅ Network connected (WiFi credentials persist)
- ✅ All services enabled
- ✅ User services monitoring battery/temperature
- ✅ Auto-login enabled (no password after LUKS unlock)
You may want to add:
- SSH/GPG keys for git access
- Personal dotfiles and configs
- Password managers and secret storage
- Additional applications
Detailed documentation in [.local/share/ricing/README.md]:
- Installation workflow details
- Script descriptions
- VM vs hardware setup
- Terminal stack architecture
- Security considerations
- LUKS encryption with user-chosen password (required on boot)
- Auto-login enabled after LUKS unlock (convenience)
- No hardcoded credentials
- Safe for public sharing
Tested on VMs and hardware. Contributions welcome!


