A total system theme based on Gruvbox for Hyprland and associated applications on Arch Linux.
This dotfiles collection provides a cohesive Gruvbox Dark color scheme across:
- Hyprland - Wayland compositor with window management, animations, and visual effects
- Waybar - Status bar with system information and workspace indicators
- SwayNC - Notification center with Gruvbox styling
- Foot - Terminal emulator with Gruvbox colors
- Fuzzel - Application launcher with matching theme
- GTK - System-wide GTK theming
- ncspot - Terminal-based (ncurses) Spotify client with Gruvbox interface
- swaylock - Screen lock with Gruvbox colors
- ZSH - Shell configuration with Gruvbox prompt and FZF integration
Install required packages:
# Official repositories
sudo pacman -S hyprland waybar swaync foot fuzzel swaylock \
fzf zsh ttf-jetbrains-mono-nerd \
brightnessctl playerctl grim slurp wl-clipboard \
swaybg pactl
# AUR packages (optional)
yay -S ncspot hypridle hyprlockInstall Oh My Zsh and plugins:
# Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# ZSH plugins
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightinggit clone <repository-url> ~/dotfiles
cd ~/dotfiles
./install.shThe install script will automatically:
- Backup existing configuration files
- Create symbolic links from
~/.configto the dotfiles - Set up ZSH theme and configuration
To see dependency installation commands:
./install.sh --depsdotfiles/
├── hypr/ # Hyprland window manager
│ ├── hyprland.conf # Main configuration
│ ├── hyprlock.conf # Lock screen
│ └── hypridle.conf # Idle management
├── waybar/ # Status bar
│ ├── config # Waybar configuration
│ └── style.css # Gruvbox styling
├── swaync/ # Notification center
│ ├── config.json # SwayNC settings
│ └── style.css # Gruvbox notifications
├── foot/ # Terminal emulator
│ └── foot.ini # Gruvbox terminal colors
├── fuzzel/ # Application launcher
│ └── fuzzel.ini # Gruvbox launcher theme
├── gtk-3.0/ # GTK theming
│ └── gtk.css # System-wide GTK styling
├── ncspot/ # Spotify client
│ └── config.toml # Gruvbox ncspot theme
├── swaylock/ # Screen lock
│ └── config # Gruvbox lock screen
├── sway/ # Sway compatibility
│ └── config.d/
│ └── gruvbox.conf # Sway color definitions
├── zsh/ # Shell configuration
│ ├── zshrc # ZSH config with FZF Gruvbox
│ └── themes/
│ └── gruvbox.zsh-theme # Custom ZSH prompt
├── install.sh # Installation script
└── README.md # This file
- Gruvbox window borders and decorations
- Smooth animations and rounded corners
- Multi-monitor support with custom layouts
- Comprehensive keybindings for window management
- System monitoring (CPU, memory, network)
- Workspace indicators
- Notification center integration
- Gruvbox-themed modules
- Foot terminal with full Gruvbox color palette
- ZSH with custom Gruvbox prompt
- FZF integration with Gruvbox colors
- Syntax highlighting and autosuggestions
- Fuzzel launcher with Gruvbox styling
- SwayNC notifications matching the theme
- GTK applications themed consistently
- Screen lock with Gruvbox colors
The configuration uses the standard Gruvbox Dark palette:
- Background:
#282828 - Foreground:
#ebdbb2 - Accent:
#fe8019(orange) - Secondary:
#3c3836 - Success:
#b8bb26(green) - Warning:
#fabd2f(yellow) - Error:
#fb4934(red) - Info:
#83a598(blue)
Key Hyprland shortcuts:
Super + .- Open terminalSuper + Space- Application launcherSuper + Shift + Q- Close windowSuper + F- FullscreenSuper + Shift + S- Toggle groupSuper + S- Cycle group windowsSuper + Ctrl + S- Remove window from groupSuper + W- Window mode (vim-like navigation)Super + R- Resize mode (vim-like h/j/k/l with fine/coarse control)
When in resize mode (Super + R):
h/j/k/l- Standard resize (10px steps)Shift + h/j/k/l- Coarse resize (25px steps)Ctrl + h/j/k/l- Fine resize (2px steps)EscapeorReturn- Exit resize mode
After installation:
- Restart your terminal or run
source ~/.zshrc - Restart Waybar:
killall waybar && waybar & - Reload Hyprland:
hyprctl reload
