██████╗██████╗ ██╗ ██╗███████╗ █████╗ ██╗ ███████╗██╗ ██╗
██╔════╝██╔══██╗██║ ██║╚══███╔╝██╔══██╗██║ ██╔════╝╚██╗██╔╝
██║ ██████╔╝██║ ██║ ███╔╝ ███████║██║ █████╗ ╚███╔╝
██║ ██╔══██╗██║ ██║ ███╔╝ ██╔══██║██║ ██╔══╝ ██╔██╗
╚██████╗██║ ██║╚██████╔╝███████╗██║ ██║███████╗███████╗██╔╝ ██╗
╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝
A TUI-first, keyboard-driven Linux experience inspired by Omarchy
cruzAlex Linux is an opinionated dotfiles configuration that brings the Omarchy experience to Fedora Asahi (Apple Silicon) and Arch Linux (x86_64). It features:
- Hyprland tiling window manager with Omarchy-style keybindings
- TUI-first workflow with beautiful terminal applications
- Theme system compatible with Omarchy themes
- cruzalex-themes - A TUI browser to discover, preview, and install themes with image support
Browse 190+ Omarchy themes directly in your terminal with image previews:
┌─────────────────────────────────────────────────────────────────┐
│ cruzAlex Themes ◉ Connected │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ preview │ │ preview │ │ preview │ │ preview │ │
│ │ image │ │ image │ │ image │ │ image │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ Tokyo Night Catppuccin Gruvbox Nord │
│ ● Active ○ Installed ◌ Available ◌ Available │
│ │
├─────────────────────────────────────────────────────────────────┤
│ [Enter] Apply [i] Install [d] Delete [/] Search [q] Quit │
└─────────────────────────────────────────────────────────────────┘
- Manual:
Super + Ctrl + Space- Next wallpaper - Auto-rotate: Enable 5-minute rotation in settings
Full keyboard-driven workflow matching Omarchy defaults.
curl -fsSL https://raw.githubusercontent.com/cruzalex/cruzalex-linux-config/main/install.sh | bashgit clone https://github.com/cruzalex/cruzalex-linux-config.git ~/.dotfiles
cd ~/.dotfiles
./install.sh| System | Architecture | Status |
|---|---|---|
| Fedora Asahi | ARM64 (Apple Silicon) | Primary |
| Arch Linux | x86_64 | Supported |
| Binding | Action |
|---|---|
Super + Space |
Application launcher (Walker) |
Super + Return |
Terminal (Ghostty) |
Super + W |
Close window |
Super + F |
Fullscreen |
Super + T |
Toggle floating |
Super + Escape |
Power menu |
| Binding | Action |
|---|---|
Super + H/J/K/L |
Focus window (vim-style) |
Super + Shift + H/J/K/L |
Move window |
Super + 1-9 |
Switch workspace |
Super + Shift + 1-9 |
Move window to workspace |
Super + Tab |
Next workspace |
| Binding | Action |
|---|---|
Super + Shift + B |
Browser (Chromium) |
Super + Shift + F |
File manager (Yazi) |
Super + Shift + M |
Music (Spotify TUI) |
Super + Shift + N |
Editor (Neovim) |
Super + Shift + D |
Docker (Lazydocker) |
| Binding | Action |
|---|---|
Super + Ctrl + Shift + Space |
Theme picker TUI |
Super + Ctrl + Space |
Next wallpaper |
Super + Backspace |
Toggle transparency |
See KEYBINDINGS.md for the complete list.
# Launch theme browser TUI
cruzalex-themes
# Or via command line
cruzalex-theme-list # List installed themes
cruzalex-theme-install tokyo-night # Install from Omarchy
cruzalex-theme-set tokyo-night # Apply themeThemes follow the Omarchy format:
~/.config/cruzalex/themes/<theme-name>/
├── backgrounds/ # Wallpaper images
├── colors.toml # Color palette (24 colors)
├── preview.png # Theme preview
├── ghostty.conf # Terminal theme
├── neovim.lua # Editor theme
├── waybar.css # Status bar theme
└── ... # Other app configs
# Core colors
foreground = "#c0caf5"
background = "#1a1b26"
accent = "#7aa2f7"
cursor = "#c0caf5"
selection_background = "#33467c"
selection_foreground = "#c0caf5"
# ANSI colors (0-15)
color0 = "#15161e"
color1 = "#f7768e"
# ... color2-color15| App | Purpose |
|---|---|
| Ghostty | Terminal emulator |
| Neovim | Editor (LazyVim) |
| Yazi | File manager |
| Lazygit | Git TUI |
| Lazydocker | Docker TUI |
| btop | System monitor |
| spotify-player | Music player |
| Tool | Replaces |
|---|---|
eza |
ls |
bat |
cat |
ripgrep |
grep |
fd |
find |
zoxide |
cd |
fzf |
fuzzy finder |
starship |
prompt |
cruzalex-linux-config/
├── install.sh # Bootstrap script
├── VERSION # Semantic version
├── config/ # ~/.config/ dotfiles
│ ├── hypr/ # Hyprland WM
│ ├── waybar/ # Status bar
│ ├── ghostty/ # Terminal
│ ├── nvim/ # Neovim (LazyVim)
│ ├── yazi/ # File manager
│ └── ... # Other apps
├── cruzalex/ # Theme system
│ ├── bin/ # CLI tools
│ ├── hooks/ # Theme change hooks
│ └── themes/ # Installed themes
├── tools/ # Rust TUI tools
│ └── cruzalex-themes/ # Theme browser
├── packages/ # Package lists
│ ├── fedora.txt
│ ├── arch.txt
│ └── cargo.txt
└── scripts/ # Installation scripts
cd tools/cruzalex-themes
cargo build --releaseCreate a script in cruzalex/hooks/theme-set.d/:
#!/bin/bash
# 60-myapp.sh
# Theme hook for myapp
source "$THEME_DIR/colors.toml"
# Apply colors to myapp...- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Omarchy by DHH and Basecamp for the inspiration
- Omarchy Themes community for the theme ecosystem
- Ratatui for the excellent TUI framework
MIT License - see LICENSE for details.