Files
dotfiles/README.md
T
2025-07-17 12:40:32 +07:00

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 -->
![Desktop](screenshots/desktop.png)
![Waybar](screenshots/waybar.png)
![Rofi](screenshots/rofi.png)
## ✨ 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.