Arch Linux + Hyprland configuration with a modern, maintainable structure.
curl -sL https://raw.githubusercontent.com/mohak34/dotfiles/main/boot.sh | bash# Clone repository
git clone https://github.com/mohak34/dotfiles.git ~/.local/bin/dotfiles
# Run installer
cd ~/.local/bin/dotfiles
./install.sh./install.sh # Full interactive install
./install.sh -y # Auto-confirm all prompts
./install.sh --minimal # Skip optional packages and themes
./install.sh --dry-run # Preview without making changes
./install.sh --help # Show all optionsdotfiles-update # Interactive update
dotfiles-update -y # Auto-confirm
dotfiles-update --check # Check if updates available~/.config/dotfiles/zsh/
├── aliases.local # Your custom aliases
├── functions.local # Your custom functions
└── shell.local # Your environment variables
~/.config/hypr/local/
├── programs.conf # Override $terminal, $browser, etc.
├── keybinds.conf # Add/override keybindings
├── appearance.conf # Custom colors, borders, gaps
└── custom.conf # Any other settings
Example - change default terminal:
# ~/.config/hypr/local/programs.conf
$terminal = kittyRun custom scripts on events:
~/.config/dotfiles/hooks/
├── post-install # After fresh install
├── pre-update # Before update
└── post-update # After update
| Command | Description |
|---|---|
dotfiles-update |
Update dotfiles to latest version |
dotfiles-version |
Show installed version and status |
dotfiles-refresh-config |
Refresh core configs from repo |
dotfiles-hook |
Run or list hooks |
dotfiles-screenshot |
Take screenshots (area/fullscreen/monitor) |
dotfiles-mic-toggle |
Toggle microphone mute |
dotfiles-waybar-toggle |
Toggle waybar visibility |