Hyprland-based Wayland desktop environment configuration, themed with a custom dark color scheme (Catppuccin Mocha-inspired: #16161D background, #d5c89a foreground, #89b4fa accent).
- Window Manager: Hyprland with dwindle layout, blur, shadows, and animations
- Status Bar: Waybar with workspaces, taskbar, MPRIS, clock, system tray, network, audio, CPU/memory/disk, battery, and power profiles
- Widget System: EWW control center (quick toggles, brightness/volume sliders, media player), calendar popup, media popup with album art, disk shortcuts popup
- Clipboard Manager: cliphist-based history with image preview and thumbnails via Rofi
- Screenshot Workflow: Full screen, window picker (with thumbnails), and area selection using grim + slurp, with notification actions
- Wallpaper: hyprpaper with Rofi-based selector/gallery
- Terminal: Kitty with transparency, blur, and powerline tab bar
- Shell: Fish with Starship prompt, eza, bat, ripgrep, zoxide
- Launcher: Rofi with drun mode and icon support
- Spotify: Spicetify with Turntable theme (blur, rotating cover art, custom FAD)
- System Monitor: btop with matcha-dark-sea theme
- Audio Visualizer: cava with GLSL shader support
- Notifications: SwayNC
- Lock Screen: hyprlock
- Idle Management: hypridle
- Color Scheme: Catppuccin Mocha palette — consistent across Hyprland, Waybar, EWW, Kitty, Rofi, Starship, Spicetify
| Component | Purpose | Config Location |
|---|---|---|
| Hyprland | Wayland compositor | hypr/ |
| Waybar | Status bar | waybar/ |
| EWW | Widget system | eww/ |
| Fish | Shell | fish/ |
| Kitty | Terminal emulator | kitty/ |
| Rofi | Application launcher | rofi/ |
| Fastfetch | System info | fastfetch/ |
| Starship | Shell prompt | starship.toml |
| Spicetify | Spotify theming | spicetify/ |
| Cava | Audio visualizer | cava/ |
| Btop | System monitor | btop/ |
Full component details: docs/components.md
Semua script quick-settings self-contained di eww/extension/quick-settings/scripts/ — tidak ada lagi folder collab-scripts/ terpisah.
Arsitektur: EWW card ↔ toggle-powermode.sh (frontend cycle) → power-mode.sh (backend DBus) → powerprofilesctl → waybar signal.
Arch Linux (or Arch-based distro) with an AUR helper (yay or paru).
# Window manager and utilities
sudo pacman -S hyprland hyprpaper hypridle hyprlock hyprpicker hyprshade
# Status bar and widget system
sudo pacman -S waybar eww
# Notification daemon and logout
sudo pacman -S swaync wlogout
# Terminal and shell
sudo pacman -S kitty fish
# Launcher
sudo pacman -S rofi
# Clipboard
sudo pacman -S cliphist wl-clipboard
# Screenshot
sudo pacman -S grim slurp imagemagick
# Audio
sudo pacman -S wireplumber pamixer playerctl
# Hardware control
sudo pacman -S brightnessctl power-profiles-daemon
# Network and Bluetooth
sudo pacman -S networkmanager nm-connection-editor blueman
# Polkit
sudo pacman -S polkit-kde-agent
# Shell tools
sudo pacman -S fastfetch starship eza bat ripgrep zoxide neovim
# System monitor
sudo pacman -S btop
# Audio visualizer
sudo pacman -S cava
# Utilities
sudo pacman -S jq curl
# Fonts
sudo pacman -S ttf-jetbrains-mono-nerd ttf-cascadia-mono
# Desktop apps (optional keybind targets)
sudo pacman -S nautilus firefox code
# Spotify + theming
yay -S spotify spicetify-cli# Clone
git clone <repo-url> ~/dotfiles
# Symlink all configs
for d in hypr waybar eww fish kitty rofi fastfetch cava btop spicetify; do
ln -sf ~/dotfiles/$d ~/.config/$d
done
ln -sf ~/dotfiles/starship.toml ~/.config/starship.toml
# Apply Spicetify
spicetify backup applyFull dependency map: docs/dependencies.md
| Category | Packages |
|---|---|
| Compositor | hyprland, hyprpaper, hypridle, hyprlock, hyprpicker, hyprshade |
| UI | waybar, eww, rofi, swaync, wlogout |
| Shell | fish, kitty, starship, fastfetch |
| Media | wireplumber, pamixer, playerctl |
| Hardware | brightnessctl, networkmanager, blueman, power-profiles-daemon |
| Clipboard | cliphist, wl-clipboard |
| Screenshot | grim, slurp, imagemagick |
| Tools | jq, curl, polkit-kde-agent |
| Fonts | ttf-jetbrains-mono-nerd, ttf-cascadia-mono |
| CLI tools | eza, bat, ripgrep, zoxide, neovim |
| Package | Used By | Notes |
|---|---|---|
| hyprpanel | Hyprland | Panel (AUR). Launched alongside waybar — may conflict |
| nautilus | Hyprland | File manager keybind (SUPER + X) |
| code | Hyprland | VSCode keybind (SUPER + C) |
| firefox | Hyprland | Browser keybind (SUPER + B) |
| spotify | Hyprland | Spotify keybind (SUPER + M) |
| spicetify | Spotify | Theme injection |
| cava | Standalone | Audio visualizer |
| btop | Standalone | System monitor |
| discord | Hyprland | Commented out |
| nvidia drivers | Hyprland | Commented out env vars |
- EWW daemon startup: EWW is pre-launched as a daemon to prevent popup lag on first open. If popups lag, restart with
eww daemon. - hyprpanel + waybar dual launch:
autostart.conflaunches bothwaybarandhyprpanel. This may cause visual conflicts or redundant panels. Needs Manual Verification. - hyprpanel toggle keybind:
SUPER + Qrunspkill hyprpanel || hyprpanel. If waybar is the intended primary bar, this keybind will not toggle it — it only targets hyprpanel. - Clipboard image thumbnails: Require
imagemagick. Without it, a generic icon displays instead. - media-info.sh album art: Requires network access. YouTube thumbnail fallback uses
i.ytimg.com— may break if URLs change. - Hardcoded wallpaper path:
hyprpaper.confreferences/home/xuanz/Pictures/wallpapers/605945.jpg. Users must update or remove this file. - Hardcoded monitor names:
monitor.confuseseDP-1andDP-1. Users with different monitor names must update. - Font dependency: Multiple components require
JetBrainsMono Nerd Font. Calendar clock requiresTerminess Nerd Font Mono. - polkit-kde-agent path: Hardcoded to
/usr/lib/polkit-kde-authentication-agent-1. Path may vary per distro. - cava config: All settings are commented out (effectively defaults). If cava doesn't work, uncomment the
methodsetting for your audio system (pipewire/pulseaudio).
- Add screenshots
- Add
install.shscript - Auto-detect monitor names at startup (replace hardcoded
eDP-1/DP-1) - Add GPU-specific config detection (NVIDIA vs Intel/AMD)
- Include wallpapers in repo
- Resolve hyprpanel/waybar dual-launch
- Add EWW battery widget
- Add hypridle config file (currently using defaults)
- Add hyprlock config file (currently using defaults)
- Generate keybind cheatsheet
- Add GTK theme setup instructions