Custom dotfiles for CachyOS (Arch-based) with Hyprland using GNU Stow.
- Hyprland: Window manager with custom keybindings, hyprlock, hypridle
- Waybar: Status bar configuration
- Theming: Multiple themes with easy switching (futurism, ado, catppuccin, dreamwave, gruvbox, nord, sapphire, tokyo-night)
- Terminals: Ghostty, Alacritty, Kitty configurations
- Fish Shell: Shell config with Starship prompt
- Walker: Application launcher
- Mako: Notification daemon
- Helium: Default browser
- Rice Scripts: 100+ utility scripts for system management
- Profile Support: Desktop and laptop (ASUS G14) profiles
- Auto GPU Detection: AMD, NVIDIA, and Intel driver installation
# Clone dotfiles
git clone https://github.com/adeptofficial/.dotfiles.git ~/.dotfiles
cd ~/.dotfiles
# Run bootstrap (will prompt for profile)
./install.sh
# Or specify profile directly
./install.sh desktop
./install.sh laptopThe install script will:
- Install yay (AUR helper)
- Install PipeWire audio
- Install core packages (Hyprland, Waybar, terminals, fonts, etc.)
- Auto-detect and install GPU drivers
- Install AUR packages (Walker, Ghostty, etc.)
- Enable system services (including SDDM autologin)
- Stow all dotfiles
- Apply selected profile (auto-detects VMs)
- Set default theme (futurism)
After reboot, SDDM will auto-login and start Hyprland via UWSM.
cd ~/.dotfiles
./stow-all.sh
# Restart terminal
exec fish
# Reload Hyprland
hyprctl reload.dotfiles/
├── hypr/ # Hyprland config (hyprland, hyprlock, hypridle)
├── waybar/ # Waybar status bar
├── fish/ # Fish shell config
├── shell/ # Starship prompt
├── themes/ # Theme definitions and templates
├── rice/ # Rice configuration
├── scripts/ # syna-* utility scripts
├── alacritty/ # Alacritty terminal
├── ghostty/ # Ghostty terminal
├── kitty/ # Kitty terminal
├── walker/ # Application launcher
├── mako/ # Notification daemon
├── swayosd/ # SwayOSD (volume/brightness overlay)
├── btop/ # System monitor
├── fastfetch/ # System info display
├── xdg/ # Default applications
├── docs/ # Documentation
├── install.sh # Full bootstrap script
├── install_apps.sh # App installation
└── stow-all.sh # Stow-only script
Switch themes using the rice scripts:
# List available themes
syna-theme-list
# Set a theme
syna-theme-set futurism
syna-theme-set catppuccin
syna-theme-set tokyo-night
# Install new themes
syna-theme-install <name>Available themes: ado, catppuccin, dreamwave, futurism, gruvbox, nord, sapphire, tokyo-night
Located in fish/.config/fish/conf.d/aliases.fish:
dps- docker psdcu- docker compose up -ddcd- docker compose downdcr- docker compose restartdlog- docker compose logs -f
ha- docker exec into home-assistantha-restart- restart home-assistant containerha-logs- follow home-assistant logs
ollama-gpu- check GPU statusollama-logs- follow ollama logsollama-restart- restart ollama container
update- sudo pacman -Syuclean- sudo pacman -Sc
..- cd .....- cd ../..dots- cd ~/.dotfiles
gs- git statusga- git addgc- git commit -mgp- git pushgl- git pull
The scripts/ package includes 100+ utilities prefixed with syna-:
# System
syna-menu # Main menu (SUPER+ALT+SPACE)
syna-update # System update
syna-lock-screen # Lock screen
# Theming
syna-theme-set # Change theme
syna-theme-list # List themes
syna-theme-install # Install theme
# Launchers
syna-launch-browser # Open browser
syna-launch-terminal # Open terminal
syna-launch-walker # Application launcher
# Screenshots
syna-cmd-screenshot # Take screenshot
syna-cmd-screenrecord # Screen recording
# Toggles
syna-toggle-waybar # Toggle status bar
syna-toggle-nightlight # Toggle night lightSome configs vary by machine (monitors, workspaces, preferences). The pattern:
| File | Description |
|---|---|
*.conf |
Stowed default (primary desktop config) |
*.default.conf |
Generic template (VMs, fresh installs) |
*.laptop.conf |
G14-specific settings |
Files with this pattern:
monitors.conf- Monitor layout and workspacesautostart.conf- Startup apps and workspace assignmentsinput.conf- Mouse/keyboard preferencesghostty/config- Terminal preferences
For new machines:
- Laptop:
./install.sh laptop(uses*.laptop.conf) - VM: Auto-detected, uses
*.default.conf - New desktop: Customize
~/.config/hypr/*.confafter install
The laptop profile includes support for ASUS G14:
# GPU switching
supergfxctl -m Integrated
supergfxctl -m Hybrid
supergfxctl -m Dedicated
# Fan profiles
asusctl profile -P Quiet
asusctl profile -P Balanced
asusctl profile -P Performance
# Power profiles
powerprofilesctl set power-saver
powerprofilesctl set balanced
powerprofilesctl set performance
# GUI
rog-control-centerFor testing install.sh on fresh CachyOS minimal:
# Connect via SPICE (better than noVNC)
# 1. In Proxmox web UI: VM → Console → SPICE dropdown
# 2. Downloads a .vv file
# 3. Open with:
remote-viewer ~/Downloads/*.vv
# Or install virt-viewer if not present
sudo pacman -S virt-viewerVM setup notes:
- Use QXL display for SPICE support
- install.sh auto-detects VMs and uses generic configs
- qemu-guest-agent installed automatically in VMs
# Edit configs directly (changes apply via symlinks)
nvim ~/.dotfiles/hypr/.config/hypr/bindings.conf
nvim ~/.dotfiles/fish/.config/fish/conf.d/aliases.fish
nvim ~/.dotfiles/shell/.config/starship.toml
# For Fish changes, restart terminal
exec fish
# For Hyprland changes
hyprctl reload
# Commit changes
cd ~/.dotfiles
git add .
git commit -m "Update config"
git push