259 lines
6.6 KiB
Markdown
259 lines
6.6 KiB
Markdown
# Hyprland Dotfiles
|
|
|
|
A comprehensive Hyprland configuration with custom scripts, themes, and optimizations for Arch Linux.
|
|
|
|
## 🖼️ Screenshots
|
|
|
|
<!-- Add screenshots here -->
|
|

|
|

|
|

|
|
|
|
## ✨ Features
|
|
|
|
- **Hyprland** - Dynamic tiling Wayland compositor
|
|
- **Waybar** - Highly customizable status bar
|
|
- **Rofi** - Application launcher with custom themes
|
|
- **Kitty** - GPU-accelerated terminal emulator
|
|
- **Mako/SwayNC** - Notification daemon
|
|
- **Greenclip** - Clipboard manager
|
|
- **Fastfetch** - System information tool
|
|
- **Custom scripts** - Automation and utilities
|
|
- **Consistent theming** - Unified look across all applications
|
|
|
|
## 📋 Requirements
|
|
|
|
### System Requirements
|
|
- **OS**: Arch Linux (primary support)
|
|
- **Display Server**: Wayland
|
|
- **GPU**: Any GPU with Vulkan support (recommended)
|
|
|
|
### Dependencies
|
|
|
|
#### Essential Packages
|
|
```bash
|
|
# Core Hyprland ecosystem
|
|
hyprland waybar rofi kitty mako
|
|
|
|
# System utilities
|
|
fastfetch ranger vim git
|
|
|
|
# Audio/Media
|
|
pulseaudio pamixer
|
|
|
|
# Additional tools
|
|
greenclip xpad telegram-desktop google-chrome
|
|
```
|
|
|
|
#### Optional Packages
|
|
```bash
|
|
# Notification alternatives
|
|
swaync dunst
|
|
|
|
# Terminal alternatives
|
|
alacritty
|
|
|
|
# System monitoring
|
|
htop neofetch cava
|
|
|
|
# Display management
|
|
ly picom
|
|
```
|
|
|
|
## 🚀 Installation
|
|
|
|
### Quick Install
|
|
|
|
1. **Clone the repository**
|
|
```bash
|
|
cd ~/
|
|
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
|
|
cd ~/dotfiles
|
|
```
|
|
|
|
2. **Run the installation script**
|
|
```bash
|
|
./install_scripts/install.sh
|
|
```
|
|
|
|
### Manual Installation
|
|
|
|
If you prefer to install components individually:
|
|
|
|
```bash
|
|
# Hyprland configuration
|
|
ln -s ~/dotfiles/hypr ~/.config/hypr
|
|
|
|
# Waybar configuration
|
|
ln -s ~/dotfiles/waybar ~/.config/waybar
|
|
|
|
# Terminal configuration
|
|
ln -s ~/dotfiles/kitty ~/.config/kitty
|
|
|
|
# Other configurations
|
|
ln -s ~/dotfiles/mako ~/.config/mako
|
|
ln -s ~/dotfiles/ranger ~/.config/ranger
|
|
ln -s ~/dotfiles/fastfetch ~/.config/fastfetch
|
|
ln -s ~/dotfiles/vimrc ~/.vimrc
|
|
```
|
|
|
|
### Full System Installation (Arch Linux)
|
|
|
|
For a complete Arch Linux installation with this configuration:
|
|
|
|
1. **Customize the installation script**
|
|
```bash
|
|
vim install_scripts/install-arch.sh
|
|
# Edit variables: disk, hostname, normal_user, etc.
|
|
```
|
|
|
|
2. **Run the installer** (as root)
|
|
```bash
|
|
./install_scripts/install-arch.sh
|
|
```
|
|
|
|
## ⌨️ Keybindings
|
|
|
|
| Key Combination | Action |
|
|
|-----------------|--------|
|
|
| `Alt` | Main modifier key |
|
|
| `Alt + Q` | Close window |
|
|
| `Alt + V` | Toggle floating window |
|
|
| `Alt + Return` | Open terminal (Kitty) |
|
|
| `Alt + D` | Open Rofi launcher |
|
|
| `Alt + Shift + P` | Open Rofi power menu |
|
|
| `Alt + C` | Open Rofi clipboard (Greenclip) |
|
|
| `Alt + B` | Lock screen (Hyprlock) |
|
|
| `Alt + Shift + C` | Screenshot to clipboard |
|
|
| `Alt + [1-0]` | Switch to workspace [1-10] |
|
|
| `Alt + X` | Open Xpad |
|
|
| `Alt + Shift + X` | Open new note in Xpad |
|
|
| `Alt + A` | Open Telegram |
|
|
| `Alt + G` | Open Google Chrome |
|
|
|
|
### Additional Keybindings
|
|
- **Window Management**: `Alt + H/J/K/L` for directional focus
|
|
- **Workspace Movement**: `Alt + Shift + [1-0]` to move window to workspace
|
|
- **Resize Mode**: `Alt + R` to enter resize mode
|
|
- **Fullscreen**: `Alt + F` to toggle fullscreen
|
|
|
|
## 🎨 Customization
|
|
|
|
### Themes
|
|
|
|
The configuration uses a consistent color scheme across all applications:
|
|
- **Primary**: Blue accent (`#33ccff`)
|
|
- **Secondary**: Green accent (`#00ff99`)
|
|
- **Background**: Dark theme optimized for OLED displays
|
|
|
|
### Waybar Modules
|
|
|
|
Current modules (left to right):
|
|
- **Left**: Launcher, CPU, Memory, Temperature, Disk, Weather, Updates, Window title
|
|
- **Center**: Workspaces
|
|
- **Right**: Audio, Media, Backlight, Keyboard, Language, Battery, Clock, Tray, Power
|
|
|
|
### Rofi Themes
|
|
|
|
Multiple Rofi configurations included:
|
|
- Application launcher
|
|
- Power menu
|
|
- Clipboard manager
|
|
- Emoji picker (rofimoji)
|
|
|
|
## 🔧 Configuration Structure
|
|
|
|
```
|
|
dotfiles/
|
|
├── hypr/ # Hyprland configuration
|
|
│ ├── hyprland.conf # Main configuration
|
|
│ ├── keybinds.conf # Keybinding definitions
|
|
│ ├── startup.conf # Startup applications
|
|
│ └── windowrules.conf # Window rules
|
|
├── waybar/ # Status bar configuration
|
|
├── rofi/ # Application launcher themes
|
|
├── kitty/ # Terminal configuration
|
|
├── mako/ # Notification daemon
|
|
├── ranger/ # File manager
|
|
├── shell/ # Shell aliases and functions
|
|
├── bin/ # Custom scripts
|
|
└── install_scripts/ # Installation automation
|
|
```
|
|
|
|
## 🛠️ Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **Hyprland won't start**
|
|
- Check GPU drivers: `lspci -k | grep -A 2 -E "(VGA|3D)"`
|
|
- Verify Wayland support: `echo $XDG_SESSION_TYPE`
|
|
|
|
2. **Waybar not showing**
|
|
- Check if running: `pgrep waybar`
|
|
- Restart: `killall waybar && waybar &`
|
|
|
|
3. **Audio issues**
|
|
- Check PulseAudio: `pulseaudio --check`
|
|
- Restart audio: `pulseaudio -k && pulseaudio --start`
|
|
|
|
4. **Rofi not launching**
|
|
- Check configuration: `rofi -dump-config`
|
|
- Test with: `rofi -show drun`
|
|
|
|
### Log Files
|
|
|
|
- **Hyprland**: `~/.local/share/hyprland/hyprland.log`
|
|
- **Waybar**: Check journal: `journalctl --user -u waybar`
|
|
|
|
## 📝 Shell Aliases
|
|
|
|
The configuration includes numerous helpful aliases:
|
|
|
|
### System Management
|
|
- `p` - pacman
|
|
- `pi` - install package
|
|
- `psyu` - system upgrade
|
|
- `sctl` - systemctl
|
|
- `ff` - fastfetch
|
|
|
|
### Development
|
|
- `g` - git
|
|
- `ga` - git add
|
|
- `gc` - git clone
|
|
- `gst` - git status
|
|
|
|
### Docker
|
|
- `dr` - docker run
|
|
- `dpa` - docker ps -a
|
|
- `ds` - docker start
|
|
|
|
[Full alias list in `shell/source.sh`]
|
|
|
|
## 🤝 Contributing
|
|
|
|
1. Fork the repository
|
|
2. Create a feature branch
|
|
3. Make your changes
|
|
4. Test thoroughly
|
|
5. Submit a pull request
|
|
|
|
## 📄 License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
|
|
## 🙏 Acknowledgments
|
|
|
|
- [Hyprland](https://hyprland.org/) - Amazing Wayland compositor
|
|
- [Waybar](https://github.com/Alexays/Waybar) - Flexible status bar
|
|
- [Rofi](https://github.com/davatorium/rofi) - Application launcher
|
|
- The Arch Linux community for excellent documentation
|
|
|
|
## 📞 Support
|
|
|
|
- **Issues**: [GitHub Issues](https://github.com/TolaMironcenko/hyprland_dotfiles/issues)
|
|
- **Wiki**: [Project Wiki](https://github.com/TolaMironcenko/hyprland_dotfiles/wiki)
|
|
- **Email**: [Contact](mailto:your-email@example.com)
|
|
|
|
---
|
|
|
|
**Note**: This configuration is primarily tested on Arch Linux. While it may work on other distributions, you may need to adjust package names and paths accordingly. |