Complete Arch Linux + Hyprland configuration files for a fully functional desktop environment.
- Window Manager: Hyprland (Wayland compositor)
- Status Bar: Waybar with custom styling
- Application Launcher: Rofi with wallust dynamic theming
- Terminal: Kitty with custom configuration
- Shell: Fish with custom functions and plugins
- Editor: Neovim with complete configuration
- Notification Daemon: SwayNC
- Theme Manager: Wallust (dynamic colors from wallpaper)
- File Manager: Thunar
- System Monitor: btop
- Audio Visualizer: Cava
(Add your screenshots here)
- Arch Linux (or Arch-based distribution)
- Internet connection
- Git
-
Clone the repository:
cd ~ git clone git@github.com:Ayash-Bera/configs.git .config-new cd .config-new
-
Run the installation script:
chmod +x install.sh ./install.sh
-
Restart and select Hyprland:
- Log out or reboot
- Select Hyprland from your display manager
- Enjoy your new setup!
If you prefer to install manually:
-
Install packages:
# Install native packages sudo pacman -S --needed - < packages.txt # Install AUR helper (if needed) git clone https://aur.archlinux.org/yay.git /tmp/yay cd /tmp/yay && makepkg -si # Install AUR packages yay -S --needed - < aur-packages.txt
-
Backup existing configs:
mv ~/.config ~/.config-backup-(date +%Y%m%d)
-
Symlink configs:
ln -sf ~/path/to/dotfiles ~/.config
-
Install home dotfiles:
ln -sf ~/.config/home-dotfiles/.bashrc ~/.bashrc ln -sf ~/.config/home-dotfiles/.gtkrc-2.0 ~/.gtkrc-2.0 ln -sf ~/.config/home-dotfiles/.p10k.zsh ~/.p10k.zsh
-
Set Fish as default shell:
chsh -s (which fish) -
Make scripts executable:
chmod +x ~/.config/hypr/scripts/*.sh chmod +x ~/.config/hypr/UserScripts/*.sh
Main configuration files are located in ~/.config/hypr/:
hyprland.conf- Main Hyprland configurationUserConfigs/- User-specific customizationsUserSettings.conf- Monitor, input, and general settingsUserKeybinds.conf- Custom keybindingsStartup_Apps.conf- Applications to start on launch
Main keybindings (SUPER = Windows/Command key):
SUPER + D- App launcher (rofi)SUPER + Return- Terminal (kitty)SUPER + E- File managerSUPER + Q- Close windowSUPER + F- Toggle fullscreenSUPER + V- Toggle floatingSUPER + M- Exit Hyprland
SUPER + [1-9]- Switch to workspaceSUPER + SHIFT + [1-9]- Move window to workspaceSUPER + Arrow Keys- Move focusSUPER + SHIFT + Arrow Keys- Move windowSUPER + Mouse Drag- Move windowSUPER + CTRL + Mouse Drag- Resize window
SUPER + ALT + C- Calculator (rofi)SUPER + ALT + E- Emoji picker (rofi)SUPER + S- Web search (rofi)SUPER + SHIFT + K- Show all keybindings (rofi)SUPER + SHIFT + M- Music player menu (rofi)SUPER + ALT + R- Reload waybar/rofi/swayncPrint- Screenshot
Rofi uses wallust for dynamic theming based on your wallpaper:
- Colors are automatically generated from wallpaper
- Configuration:
~/.config/rofi/wallust/colors-rofi.rasi - Change wallpaper: SUPER + W (wallpaper selector)
Waybar configuration:
- Main config:
~/.config/waybar/config.jsonc - Styles:
~/.config/waybar/style.css - Wallust colors:
~/.config/waybar/wallust/colors-waybar.css
Fish configuration:
- Main config:
~/.config/fish/config.fish - Custom functions:
~/.config/fish/my_functions.fish - Plugins:
~/.config/fish/fish_plugins
Install plugins:
fisher update- Press
SUPER + Wto open wallpaper selector - Select wallpaper from the grid
- Colors will update automatically via wallust
- Script:
~/.config/hypr/scripts/DarkLight.sh - Toggles between dark and light themes
Edit wallust colors manually:
nvim ~/.config/rofi/wallust/colors-rofi.rasi
nvim ~/.config/waybar/wallust/colors-waybar.css-
Check Hyprland logs:
cat ~/.config/hypr/hyprland.log -
Verify all dependencies are installed:
pacman -Qqe | diff - packages.txt
-
Run wallust manually:
wallust run ~/Pictures/wallpapers/your-wallpaper.png -s -
Reload configuration:
SUPER + ALT + R
-
Reinstall Fisher:
curl -sL https://git.io/fisher | source
-
Update plugins:
fisher update
chmod +x ~/.config/hypr/scripts/*.sh
chmod +x ~/.config/hypr/UserScripts/*.sh~/.config/
├── ags/ # AGS widgets
├── btop/ # System monitor config
├── cava/ # Audio visualizer
├── dunst/ # Notification daemon
├── fastfetch/ # System info tool
├── fish/ # Fish shell config
├── fuzzel/ # App launcher (alternative)
├── ghostty/ # Terminal (alternative)
├── gtk-2.0/ # GTK2 theme
├── gtk-3.0/ # GTK3 theme
├── gtk-4.0/ # GTK4 theme
├── hypr/ # Hyprland configuration
├── kitty/ # Terminal config
├── neofetch/ # System info tool
├── nvim/ # Neovim configuration
├── rofi/ # Application launcher
├── swaync/ # Notification center
├── waybar/ # Status bar
├── wlogout/ # Logout menu
├── wofi/ # App launcher (alternative)
├── home-dotfiles/ # Home directory dotfiles
├── .gitignore # Git ignore rules
├── README.md # This file
├── install.sh # Installation script
├── packages.txt # Pacman packages
└── aur-packages.txt # AUR packages
Based on configurations from:
- JaKooLit's Hyprland dotfiles
- Hyprland community
- Arch Linux community
Feel free to use and modify these configurations as needed.
If you find any issues or have suggestions:
- Open an issue on GitHub
- Submit a pull request
- Share your improvements!
Maintained by: Ayash-Bera Repository: https://github.com/Ayash-Bera/configs