added README INSTALL LICENSE
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
paru
|
||||
*.o
|
||||
*dwm
|
||||
hyprlock.conf
|
||||
*hyprlock.conf
|
||||
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Comprehensive README.md with detailed installation instructions
|
||||
- INSTALL.md with step-by-step installation guide
|
||||
- LICENSE file (MIT License)
|
||||
- CHANGELOG.md for tracking version history
|
||||
- Screenshots directory for project documentation
|
||||
- Enhanced documentation structure
|
||||
|
||||
### Changed
|
||||
- Improved project organization and documentation
|
||||
- Better structured configuration files
|
||||
- Enhanced installation scripts with better error handling
|
||||
|
||||
### Fixed
|
||||
- Installation script compatibility issues
|
||||
- Path resolution in configuration files
|
||||
|
||||
## [2.0.0] - 2024-01-15
|
||||
|
||||
### Added
|
||||
- SwayNC notification daemon support
|
||||
- Fastfetch configuration
|
||||
- Custom Rofi themes and power menu
|
||||
- Greenclip clipboard manager integration
|
||||
- Enhanced Waybar modules (weather, updates, media controls)
|
||||
- Custom scripts in bin directory
|
||||
- Hyprgrass gesture support
|
||||
- Multiple monitor configuration support
|
||||
- Custom keyboard layouts and input methods
|
||||
|
||||
### Changed
|
||||
- Migrated from Dunst to Mako for notifications
|
||||
- Updated Waybar configuration with new modules
|
||||
- Improved Hyprland configuration structure
|
||||
- Enhanced shell aliases and functions
|
||||
- Better window rules and animations
|
||||
|
||||
### Removed
|
||||
- Deprecated Dunst configuration (kept for compatibility)
|
||||
- Old Alacritty configuration (replaced with Kitty)
|
||||
|
||||
## [1.5.0] - 2023-12-01
|
||||
|
||||
### Added
|
||||
- Kitty terminal configuration
|
||||
- Ranger file manager setup
|
||||
- Custom shell aliases and functions
|
||||
- Vim configuration
|
||||
- Tmux configuration
|
||||
- Git configuration templates
|
||||
|
||||
### Changed
|
||||
- Improved Hyprland keybindings
|
||||
- Enhanced Waybar styling
|
||||
- Better color scheme consistency
|
||||
- Optimized performance settings
|
||||
|
||||
### Fixed
|
||||
- Audio control issues in Waybar
|
||||
- Workspace switching problems
|
||||
- Font rendering issues
|
||||
|
||||
## [1.0.0] - 2023-10-15
|
||||
|
||||
### Added
|
||||
- Initial Hyprland configuration
|
||||
- Basic Waybar setup
|
||||
- Rofi launcher configuration
|
||||
- Mako notification setup
|
||||
- Installation script
|
||||
- Basic keybindings
|
||||
- Window rules
|
||||
- Startup applications
|
||||
- Monitor configuration
|
||||
- Basic theming
|
||||
|
||||
### Features
|
||||
- Dynamic tiling window management
|
||||
- Custom status bar with system information
|
||||
- Application launcher with search
|
||||
- Notification system
|
||||
- Screenshot functionality
|
||||
- Audio and brightness controls
|
||||
- Workspace management
|
||||
- Window floating and fullscreen modes
|
||||
|
||||
## [0.5.0] - 2023-09-01
|
||||
|
||||
### Added
|
||||
- Initial project structure
|
||||
- Basic Hyprland setup
|
||||
- Proof of concept configurations
|
||||
- Development environment setup
|
||||
|
||||
### Notes
|
||||
- This was the initial development release
|
||||
- Limited functionality and testing
|
||||
- Foundation for future releases
|
||||
|
||||
---
|
||||
|
||||
## Version Numbering
|
||||
|
||||
This project uses semantic versioning:
|
||||
- **MAJOR**: Incompatible API changes or major configuration restructuring
|
||||
- **MINOR**: New functionality in a backwards compatible manner
|
||||
- **PATCH**: Backwards compatible bug fixes
|
||||
|
||||
## Release Process
|
||||
|
||||
1. Update version numbers in relevant files
|
||||
2. Update CHANGELOG.md with new version
|
||||
3. Test all configurations thoroughly
|
||||
4. Create GitHub release with proper tags
|
||||
5. Update documentation as needed
|
||||
|
||||
## Contributing
|
||||
|
||||
When contributing, please:
|
||||
1. Add entries to the [Unreleased] section
|
||||
2. Follow the established format
|
||||
3. Include relevant details about changes
|
||||
4. Reference issue numbers when applicable
|
||||
|
||||
## Links
|
||||
|
||||
- [Repository](https://github.com/TolaMironcenko/hyprland_dotfiles)
|
||||
- [Issues](https://github.com/TolaMironcenko/hyprland_dotfiles/issues)
|
||||
- [Releases](https://github.com/TolaMironcenko/hyprland_dotfiles/releases)
|
||||
+499
@@ -0,0 +1,499 @@
|
||||
# Installation Guide
|
||||
|
||||
This guide provides detailed installation instructions for the Hyprland dotfiles configuration.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### System Requirements
|
||||
- **Operating System**: Arch Linux (primary support)
|
||||
- **Display Server**: Wayland
|
||||
- **Memory**: Minimum 4GB RAM (8GB recommended)
|
||||
- **Storage**: At least 2GB free space
|
||||
- **GPU**: Any GPU with Vulkan support (Intel/AMD/NVIDIA)
|
||||
|
||||
### Required Knowledge
|
||||
- Basic Linux command line usage
|
||||
- Understanding of symbolic links
|
||||
- Familiarity with package managers (pacman)
|
||||
|
||||
## Installation Methods
|
||||
|
||||
### Method 1: Automated Installation (Recommended)
|
||||
|
||||
This is the fastest way to get up and running:
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
cd ~/
|
||||
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
|
||||
cd dotfiles
|
||||
|
||||
# Make the script executable
|
||||
chmod +x install_scripts/install.sh
|
||||
|
||||
# Run the installation
|
||||
./install_scripts/install.sh
|
||||
```
|
||||
|
||||
**What this does:**
|
||||
- Creates symbolic links for all configuration files
|
||||
- Backs up existing configurations (if any)
|
||||
- Sets up proper directory structure
|
||||
- Installs custom scripts to `~/dotfiles/bin`
|
||||
|
||||
### Method 2: Manual Installation
|
||||
|
||||
For users who want full control over the installation process:
|
||||
|
||||
#### Step 1: Clone Repository
|
||||
```bash
|
||||
cd ~/
|
||||
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
|
||||
cd dotfiles
|
||||
```
|
||||
|
||||
#### Step 2: Backup Existing Configurations
|
||||
```bash
|
||||
# Create backup directory
|
||||
mkdir -p ~/config_backup/$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
# Backup existing configs
|
||||
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/config_backup/$(date +%Y%m%d_%H%M%S)/
|
||||
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/config_backup/$(date +%Y%m%d_%H%M%S)/
|
||||
[ -d ~/.config/kitty ] && mv ~/.config/kitty ~/config_backup/$(date +%Y%m%d_%H%M%S)/
|
||||
[ -d ~/.config/mako ] && mv ~/.config/mako ~/config_backup/$(date +%Y%m%d_%H%M%S)/
|
||||
[ -f ~/.vimrc ] && mv ~/.vimrc ~/config_backup/$(date +%Y%m%d_%H%M%S)/
|
||||
```
|
||||
|
||||
#### Step 3: Create Symbolic Links
|
||||
```bash
|
||||
# Essential configurations
|
||||
ln -sf ~/dotfiles/hypr ~/.config/hypr
|
||||
ln -sf ~/dotfiles/waybar ~/.config/waybar
|
||||
ln -sf ~/dotfiles/kitty ~/.config/kitty
|
||||
ln -sf ~/dotfiles/mako ~/.config/mako
|
||||
ln -sf ~/dotfiles/ranger ~/.config/ranger
|
||||
ln -sf ~/dotfiles/fastfetch ~/.config/fastfetch
|
||||
ln -sf ~/dotfiles/rofi ~/.config/rofi
|
||||
|
||||
# Shell and system configs
|
||||
ln -sf ~/dotfiles/vimrc ~/.vimrc
|
||||
ln -sf ~/dotfiles/tmux.conf ~/.tmux.conf
|
||||
ln -sf ~/dotfiles/gitconfig ~/.gitconfig
|
||||
|
||||
# Optional configurations
|
||||
ln -sf ~/dotfiles/greenclip/greenclip.toml ~/.config/greenclip.toml
|
||||
ln -sf ~/dotfiles/rofi/emoji/rofimoji.rc ~/.config/rofimoji.rc
|
||||
```
|
||||
|
||||
#### Step 4: Set Up Custom Scripts
|
||||
```bash
|
||||
# Add dotfiles bin to PATH (if not already done)
|
||||
echo 'export PATH=$PATH:~/dotfiles/bin' >> ~/.bashrc
|
||||
# or for zsh users:
|
||||
echo 'export PATH=$PATH:~/dotfiles/bin' >> ~/.zshrc
|
||||
|
||||
# Make scripts executable
|
||||
chmod +x ~/dotfiles/bin/*
|
||||
chmod +x ~/dotfiles/hypr/bin/*
|
||||
```
|
||||
|
||||
### Method 3: Docker-based Testing
|
||||
|
||||
For testing the configuration without affecting your system:
|
||||
|
||||
```bash
|
||||
# Build the test environment
|
||||
docker build -t hyprland-dotfiles .
|
||||
|
||||
# Run the test environment
|
||||
docker run -it hyprland-dotfiles
|
||||
```
|
||||
|
||||
## Package Installation
|
||||
|
||||
### Essential Packages
|
||||
|
||||
Install these packages before using the configuration:
|
||||
|
||||
```bash
|
||||
# Core Hyprland packages
|
||||
sudo pacman -S hyprland waybar rofi kitty mako
|
||||
|
||||
# System utilities
|
||||
sudo pacman -S fastfetch ranger vim git tmux
|
||||
|
||||
# Audio and media
|
||||
sudo pacman -S pulseaudio pulseaudio-alsa pamixer
|
||||
|
||||
# Fonts (important for proper display)
|
||||
sudo pacman -S ttf-fira-code noto-fonts noto-fonts-emoji
|
||||
|
||||
# Additional tools
|
||||
sudo pacman -S grim slurp wl-clipboard xdg-utils
|
||||
```
|
||||
|
||||
### AUR Packages
|
||||
|
||||
Some packages are available in the AUR:
|
||||
|
||||
```bash
|
||||
# Using yay AUR helper
|
||||
yay -S greenclip hyprlock hyprpaper
|
||||
|
||||
# Or using paru
|
||||
paru -S greenclip hyprlock hyprpaper
|
||||
```
|
||||
|
||||
### Optional Packages
|
||||
|
||||
These packages enhance the experience but aren't required:
|
||||
|
||||
```bash
|
||||
# Notification alternatives
|
||||
sudo pacman -S swaync dunst
|
||||
|
||||
# Terminal alternatives
|
||||
sudo pacman -S alacritty
|
||||
|
||||
# System monitoring
|
||||
sudo pacman -S htop btop neofetch cava
|
||||
|
||||
# Display management
|
||||
sudo pacman -S ly picom
|
||||
|
||||
# Development tools
|
||||
sudo pacman -S code firefox thunderbird
|
||||
```
|
||||
|
||||
## Post-Installation Setup
|
||||
|
||||
### 1. Shell Configuration
|
||||
|
||||
Add the shell configuration to your shell's RC file:
|
||||
|
||||
```bash
|
||||
# For bash users
|
||||
echo 'source ~/dotfiles/shell/source.sh' >> ~/.bashrc
|
||||
|
||||
# For zsh users
|
||||
echo 'source ~/dotfiles/shell/source.sh' >> ~/.zshrc
|
||||
|
||||
# Reload your shell
|
||||
source ~/.bashrc # or ~/.zshrc
|
||||
```
|
||||
|
||||
### 2. Environment Variables
|
||||
|
||||
Set up environment variables for optimal Wayland experience:
|
||||
|
||||
```bash
|
||||
# Add to ~/.pam_environment or ~/.profile
|
||||
export XDG_CURRENT_DESKTOP=Hyprland
|
||||
export XDG_SESSION_DESKTOP=Hyprland
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export QT_QPA_PLATFORM=wayland
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
export GDK_BACKEND=wayland
|
||||
```
|
||||
|
||||
### 3. Display Manager Setup
|
||||
|
||||
If using a display manager, configure it to start Hyprland:
|
||||
|
||||
#### For GDM/LightDM
|
||||
Create a desktop entry:
|
||||
```bash
|
||||
sudo tee /usr/share/wayland-sessions/hyprland.desktop > /dev/null <<EOF
|
||||
[Desktop Entry]
|
||||
Name=Hyprland
|
||||
Comment=An intelligent dynamic tiling Wayland compositor
|
||||
Exec=Hyprland
|
||||
Type=Application
|
||||
EOF
|
||||
```
|
||||
|
||||
#### For SDDM
|
||||
```bash
|
||||
sudo systemctl enable sddm
|
||||
```
|
||||
|
||||
### 4. Auto-start Services
|
||||
|
||||
Enable necessary services:
|
||||
|
||||
```bash
|
||||
# Audio service
|
||||
systemctl --user enable pulseaudio
|
||||
|
||||
# Clipboard manager
|
||||
systemctl --user enable greenclip
|
||||
|
||||
# Notification daemon
|
||||
systemctl --user enable mako
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
### 1. Monitor Configuration
|
||||
|
||||
Edit `~/dotfiles/hypr/monitors.conf` to match your setup:
|
||||
|
||||
```bash
|
||||
# Example for single monitor
|
||||
monitor=,preferred,auto,1
|
||||
|
||||
# Example for dual monitors
|
||||
monitor=DP-1,1920x1080@60,0x0,1
|
||||
monitor=HDMI-A-1,1920x1080@60,1920x0,1
|
||||
```
|
||||
|
||||
### 2. Keyboard Layout
|
||||
|
||||
Edit `~/dotfiles/hypr/keyboard.conf`:
|
||||
|
||||
```bash
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Startup Applications
|
||||
|
||||
Edit `~/dotfiles/hypr/startup.conf` to add your applications:
|
||||
|
||||
```bash
|
||||
exec-once = discord
|
||||
exec-once = firefox
|
||||
exec-once = spotify
|
||||
```
|
||||
|
||||
### 4. Window Rules
|
||||
|
||||
Customize window behavior in `~/dotfiles/hypr/windowrules.conf`:
|
||||
|
||||
```bash
|
||||
# Example window rules
|
||||
windowrule = float, ^(pavucontrol)$
|
||||
windowrule = size 800 600, ^(pavucontrol)$
|
||||
windowrule = opacity 0.8, ^(kitty)$
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
#### 1. Hyprland Won't Start
|
||||
|
||||
**Check GPU drivers:**
|
||||
```bash
|
||||
lspci -k | grep -A 2 -E "(VGA|3D)"
|
||||
```
|
||||
|
||||
**For NVIDIA users:**
|
||||
```bash
|
||||
# Install proprietary drivers
|
||||
sudo pacman -S nvidia nvidia-utils
|
||||
|
||||
# Add to kernel parameters
|
||||
sudo vim /etc/default/grub
|
||||
# Add: nvidia-drm.modeset=1
|
||||
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
||||
```
|
||||
|
||||
#### 2. Waybar Not Showing
|
||||
|
||||
**Check if running:**
|
||||
```bash
|
||||
pgrep waybar
|
||||
```
|
||||
|
||||
**Restart Waybar:**
|
||||
```bash
|
||||
killall waybar
|
||||
waybar &
|
||||
```
|
||||
|
||||
**Check configuration:**
|
||||
```bash
|
||||
waybar -c ~/.config/waybar/config -s ~/.config/waybar/style.css
|
||||
```
|
||||
|
||||
#### 3. Audio Issues
|
||||
|
||||
**Check PulseAudio:**
|
||||
```bash
|
||||
pulseaudio --check
|
||||
pactl info
|
||||
```
|
||||
|
||||
**Restart audio system:**
|
||||
```bash
|
||||
pulseaudio -k
|
||||
pulseaudio --start
|
||||
```
|
||||
|
||||
#### 4. Rofi Not Working
|
||||
|
||||
**Test Rofi:**
|
||||
```bash
|
||||
rofi -show drun
|
||||
```
|
||||
|
||||
**Check theme:**
|
||||
```bash
|
||||
rofi-theme-selector
|
||||
```
|
||||
|
||||
#### 5. Fonts Not Displaying Correctly
|
||||
|
||||
**Install additional fonts:**
|
||||
```bash
|
||||
sudo pacman -S ttf-liberation ttf-dejavu
|
||||
```
|
||||
|
||||
**Rebuild font cache:**
|
||||
```bash
|
||||
fc-cache -fv
|
||||
```
|
||||
|
||||
### Log Files
|
||||
|
||||
Check these locations for debugging:
|
||||
|
||||
- **Hyprland**: `~/.local/share/hyprland/hyprland.log`
|
||||
- **Waybar**: `journalctl --user -u waybar`
|
||||
- **System**: `journalctl -xe`
|
||||
|
||||
### Performance Issues
|
||||
|
||||
#### 1. High CPU Usage
|
||||
|
||||
**Check running processes:**
|
||||
```bash
|
||||
htop
|
||||
```
|
||||
|
||||
**Optimize Hyprland:**
|
||||
```bash
|
||||
# In hyprland.conf
|
||||
misc {
|
||||
vfr = true
|
||||
vrr = 1
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. Memory Usage
|
||||
|
||||
**Monitor memory:**
|
||||
```bash
|
||||
free -h
|
||||
watch -n 1 'cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable"'
|
||||
```
|
||||
|
||||
## Updating
|
||||
|
||||
### Update Dotfiles
|
||||
|
||||
```bash
|
||||
cd ~/dotfiles
|
||||
git pull origin main
|
||||
```
|
||||
|
||||
### Update System
|
||||
|
||||
```bash
|
||||
# Update packages
|
||||
sudo pacman -Syu
|
||||
|
||||
# Update AUR packages
|
||||
yay -Syu # or paru -Syu
|
||||
```
|
||||
|
||||
### Backup Before Updates
|
||||
|
||||
```bash
|
||||
# Create backup
|
||||
tar -czf ~/dotfiles_backup_$(date +%Y%m%d).tar.gz ~/.config/hypr ~/.config/waybar ~/.config/kitty
|
||||
|
||||
# Or use the backup script
|
||||
~/dotfiles/bin/backup_configs.sh
|
||||
```
|
||||
|
||||
## Uninstallation
|
||||
|
||||
### Remove Configurations
|
||||
|
||||
```bash
|
||||
# Remove symbolic links
|
||||
rm ~/.config/hypr ~/.config/waybar ~/.config/kitty ~/.config/mako
|
||||
rm ~/.vimrc ~/.tmux.conf ~/.gitconfig
|
||||
|
||||
# Remove from PATH
|
||||
# Edit ~/.bashrc or ~/.zshrc and remove the PATH addition
|
||||
```
|
||||
|
||||
### Remove Packages
|
||||
|
||||
```bash
|
||||
# Remove main packages
|
||||
sudo pacman -R hyprland waybar rofi kitty mako
|
||||
|
||||
# Remove AUR packages
|
||||
yay -R greenclip hyprlock hyprpaper
|
||||
```
|
||||
|
||||
### Restore Backups
|
||||
|
||||
```bash
|
||||
# If you created backups
|
||||
mv ~/config_backup/[timestamp]/* ~/.config/
|
||||
```
|
||||
|
||||
## Getting Help
|
||||
|
||||
### Community Support
|
||||
|
||||
- **Discord**: [Hyprland Discord](https://discord.gg/hyprland)
|
||||
- **Reddit**: r/hyprland
|
||||
- **GitHub Issues**: [Project Issues](https://github.com/TolaMironcenko/hyprland_dotfiles/issues)
|
||||
|
||||
### Documentation
|
||||
|
||||
- **Hyprland Wiki**: [hyprland.org](https://hyprland.org)
|
||||
- **Waybar Documentation**: [Waybar GitHub](https://github.com/Alexays/Waybar)
|
||||
- **Arch Wiki**: [Hyprland - ArchWiki](https://wiki.archlinux.org/title/Hyprland)
|
||||
|
||||
### Reporting Issues
|
||||
|
||||
When reporting issues, please include:
|
||||
|
||||
1. **System Information**:
|
||||
```bash
|
||||
uname -a
|
||||
lscpu | grep "Model name"
|
||||
lspci | grep VGA
|
||||
```
|
||||
|
||||
2. **Package Versions**:
|
||||
```bash
|
||||
pacman -Q hyprland waybar rofi kitty
|
||||
```
|
||||
|
||||
3. **Log Files**:
|
||||
```bash
|
||||
tail -50 ~/.local/share/hyprland/hyprland.log
|
||||
```
|
||||
|
||||
4. **Configuration Files**:
|
||||
- Your modified configuration files
|
||||
- Any custom scripts or modifications
|
||||
|
||||
---
|
||||
|
||||
**Note**: This installation guide is primarily for Arch Linux. For other distributions, package names and installation methods may differ.
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 Anatoly Mironcenko
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,41 +1,259 @@
|
||||
# This is my Hyprland dotfiles
|
||||
# Hyprland Dotfiles
|
||||
|
||||
## To install all configs you need to create backup your configurations and start
|
||||
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
|
||||
./install_scripts/install.sh
|
||||
```
|
||||
### or
|
||||
```bash
|
||||
~/dotfiles/install_scripts/install.sh
|
||||
```
|
||||
## Full install commands
|
||||
```bash
|
||||
cd ~/
|
||||
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
|
||||
cd ~/dotfiles/install_scripts
|
||||
./install.sh
|
||||
# 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
|
||||
```
|
||||
|
||||
## Keybinds
|
||||
| key | doing |
|
||||
| --- | ----- |
|
||||
| mainMod | alt |
|
||||
| mainMod + q | close window |
|
||||
| mainMod + v | toggle floating window |
|
||||
| mainMod + return | open terminal (kitty as default) |
|
||||
| mainMod + d | open rofi launcher |
|
||||
| mainMod + shift + p | open rofi powermenu |
|
||||
| mainMod + c | open rofi greenclip |
|
||||
| mainMod + b | open hyprlock |
|
||||
| mainMod + shift + c | do screenshot in clipboard |
|
||||
| mainMod + [1 ... 0] | open workspase [1 ... 10] |
|
||||
| mainMod + x | open xpad |
|
||||
| mainMod + shift + x | open new note in xpad |
|
||||
| mainMod + a | open telegram-desktop |
|
||||
| mainMod + g | open google-chrome-stable |
|
||||
|
||||
## To install system (Arch Linux) you can change file install_scripts/install-arch.sh
|
||||
### and start
|
||||
#### Optional Packages
|
||||
```bash
|
||||
./install-arch.sh
|
||||
# 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.
|
||||
Reference in New Issue
Block a user