added README INSTALL LICENSE
This commit is contained in:
1 parent
2798e144b2
commit
dc47333ae4
5 files changed
+912
-36
No files matched your search
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
paru
|
paru
|
||||||
*.o
|
*.o
|
||||||
*dwm
|
*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
|
```bash
|
||||||
./install_scripts/install.sh
|
# Core Hyprland ecosystem
|
||||||
```
|
hyprland waybar rofi kitty mako
|
||||||
### or
|
|
||||||
```bash
|
# System utilities
|
||||||
~/dotfiles/install_scripts/install.sh
|
fastfetch ranger vim git
|
||||||
```
|
|
||||||
## Full install commands
|
# Audio/Media
|
||||||
```bash
|
pulseaudio pamixer
|
||||||
cd ~/
|
|
||||||
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
|
# Additional tools
|
||||||
cd ~/dotfiles/install_scripts
|
greenclip xpad telegram-desktop google-chrome
|
||||||
./install.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Keybinds
|
#### Optional Packages
|
||||||
| 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
|
|
||||||
```bash
|
```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