mirror of
https://github.com/duma799/hyprduma-config.git
synced 2026-05-13 22:21:00 +00:00
Wallpaper fixes.
This commit is contained in:
@@ -5,15 +5,13 @@ Personal Hyprland configuration focused on productivity and ergonomics.
|
|||||||
## Features
|
## Features
|
||||||
|
|
||||||
### Enhanced Keybindings
|
### Enhanced Keybindings
|
||||||
- See in KEYBINDS.md (link below)
|
|
||||||
- **[KEYBINDS.md](KEYBINDS.md)** - Complete keybindings reference
|
- **[KEYBINDS.md](KEYBINDS.md)** - Complete keybindings reference
|
||||||
|
|
||||||
### Visual & UX
|
### Visual & UX
|
||||||
- Minimal gaps (3.5px/4.5px) for space efficiency
|
- Minimal gaps (10px/40px) for space efficiency
|
||||||
- Blur effects on waybar (in progress)
|
- Blur effects and transparency
|
||||||
- Smooth custom animations with bezier curves
|
- Smooth custom animations with bezier curves
|
||||||
- Automatic floating for file pickers and dialogs (in progress)
|
- **Pywal integration** - Dynamic colors from wallpaper (optional)
|
||||||
- Picture-in-Picture auto-positioning (in progress)
|
|
||||||
|
|
||||||
### Input
|
### Input
|
||||||
- 3-finger gestures (horizontal: workspace, vertical: fullscreen)
|
- 3-finger gestures (horizontal: workspace, vertical: fullscreen)
|
||||||
@@ -24,25 +22,30 @@ Personal Hyprland configuration focused on productivity and ergonomics.
|
|||||||
### Display Setup
|
### Display Setup
|
||||||
- Dual monitor configuration (HDMI-A-1 flipped + eDP-1)
|
- Dual monitor configuration (HDMI-A-1 flipped + eDP-1)
|
||||||
- Workspaces 1-4 on external monitor
|
- Workspaces 1-4 on external monitor
|
||||||
- Workspace 5 on laptop screen
|
- Workspaces 5-10 on laptop screen
|
||||||
|
|
||||||
## Quick Start
|
---
|
||||||
|
|
||||||
|
## Complete Installation Guide
|
||||||
|
|
||||||
|
Follow these steps in order to install the complete setup from scratch.
|
||||||
|
|
||||||
|
### Step 1: Install Required Packages
|
||||||
|
|
||||||
### Requirements
|
|
||||||
```bash
|
```bash
|
||||||
# Core Hyprland components
|
# Core Hyprland components
|
||||||
sudo pacman -S hyprland hyprlock hyprshot wlogout
|
sudo pacman -S hyprland hyprlock hyprshot wlogout
|
||||||
|
|
||||||
# Terminal & Shell
|
# Terminal emulator
|
||||||
sudo pacman -S kitty
|
sudo pacman -S kitty
|
||||||
|
|
||||||
# Status bar & Wallpaper
|
# Status bar & Wallpaper manager
|
||||||
sudo pacman -S waybar swww waypaper
|
sudo pacman -S waybar swaybg waypaper
|
||||||
|
|
||||||
# Application launcher
|
# Application launcher
|
||||||
sudo pacman -S wofi
|
sudo pacman -S wofi
|
||||||
|
|
||||||
# File manager (GNOME)
|
# File manager
|
||||||
sudo pacman -S nautilus
|
sudo pacman -S nautilus
|
||||||
|
|
||||||
# Audio control (PipeWire)
|
# Audio control (PipeWire)
|
||||||
@@ -54,32 +57,248 @@ sudo pacman -S brightnessctl
|
|||||||
# Media player control
|
# Media player control
|
||||||
sudo pacman -S playerctl
|
sudo pacman -S playerctl
|
||||||
|
|
||||||
# Optional applications (adjust in config)
|
|
||||||
sudo pacman -S telegram-desktop spotify code # Telegram, Spotify, VSCode
|
|
||||||
yay -S google-chrome # Browser (AUR)
|
|
||||||
|
|
||||||
# Cursor theme
|
# Cursor theme
|
||||||
sudo pacman -S adwaita-cursors
|
sudo pacman -S adwaita-cursors
|
||||||
|
|
||||||
|
# Pywal for dynamic colors (optional but recommended)
|
||||||
|
sudo pacman -S python-pywal
|
||||||
|
|
||||||
|
# Install rust/cargo if you don't have it (needed for Caelestia)
|
||||||
|
sudo pacman -S rust
|
||||||
```
|
```
|
||||||
|
|
||||||
### Installation
|
### Step 2: Install Optional Applications
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Backup existing config
|
# Applications referenced in config (adjust to your preference)
|
||||||
mv ~/.config/hypr ~/.config/hypr.backup
|
sudo pacman -S telegram-desktop spotify code
|
||||||
|
|
||||||
# Create directory (if do not have already) and copy config
|
# AUR packages (requires yay or another AUR helper)
|
||||||
|
yay -S google-chrome zen-browser-bin # or your preferred browser
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 3: Install Caelestia Shell (Optional)
|
||||||
|
|
||||||
|
Caelestia is a modern shell with AI features that integrates with the pywal theming system.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install Caelestia via cargo
|
||||||
|
cargo install caelestia
|
||||||
|
|
||||||
|
# Start Caelestia daemon (it will auto-restart when pywal colors change)
|
||||||
|
caelestia shell -d &
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Caelestia runs as a background service and integrates with pywal for dynamic color theming.
|
||||||
|
|
||||||
|
### Step 4: Clone This Repository
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone to a temporary location
|
||||||
|
cd ~/Downloads
|
||||||
|
git clone https://github.com/yourusername/hyprduma-config.git
|
||||||
|
cd hyprduma-config
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 5: Backup Existing Configs (If Any)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backup existing Hyprland config
|
||||||
|
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/.config/hypr.backup
|
||||||
|
|
||||||
|
# Backup existing waybar config
|
||||||
|
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/.config/waybar.backup
|
||||||
|
|
||||||
|
# Backup existing wlogout config
|
||||||
|
[ -d ~/.config/wlogout ] && mv ~/.config/wlogout ~/.config/wlogout.backup
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 6: Install Hyprland Configuration
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create Hypr config directory
|
||||||
mkdir -p ~/.config/hypr
|
mkdir -p ~/.config/hypr
|
||||||
cp hyprland.conf ~/.config/hypr/
|
|
||||||
|
|
||||||
# Adjust your apps (lines 26-32) HIGHLY RECOMMENDED!!!
|
# Copy main config
|
||||||
|
cp hyprland.conf ~/.config/hypr/
|
||||||
|
cp hyprland-colors.conf ~/.config/hypr/
|
||||||
|
|
||||||
|
# Copy wallpapers (optional, for use with waypaper)
|
||||||
|
mkdir -p ~/.config/hypr/wallpapers
|
||||||
|
cp wallpapers/* ~/.config/hypr/wallpapers/
|
||||||
|
|
||||||
|
# Create screenshots directory (used by config)
|
||||||
|
mkdir -p ~/Pictures/Screenshots
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 7: Configure Your Applications
|
||||||
|
|
||||||
|
**IMPORTANT:** Edit the config file to set your preferred applications.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Open the config file
|
||||||
nvim ~/.config/hypr/hyprland.conf
|
nvim ~/.config/hypr/hyprland.conf
|
||||||
|
|
||||||
# Reload or restart Hyprland
|
# Find lines 27-34 and adjust these variables:
|
||||||
|
# $terminal = kitty # Your terminal
|
||||||
|
# $fileManager = dolphin # Your file manager
|
||||||
|
# $menu = wofi --show drun # Your app launcher
|
||||||
|
# $telegram = Telegram # Path to Telegram
|
||||||
|
# $spotify = spotify # Path to Spotify
|
||||||
|
# $vscode = code # Path to VSCode
|
||||||
|
# $browser = your-browser # Your browser command
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Step 8: Install Pywal Integration (Optional but Recommended)
|
||||||
|
|
||||||
|
Pywal provides dynamic color theming based on your wallpaper.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install pywal templates
|
||||||
|
mkdir -p ~/.config/wal/templates
|
||||||
|
cp -r wal/templates/* ~/.config/wal/templates/
|
||||||
|
|
||||||
|
# Copy the color application and wallpaper sync scripts
|
||||||
|
cp apply-pywal-colors.sh ~/.config/hypr/
|
||||||
|
cp sync-caelestia-wallpaper.sh ~/.config/hypr/
|
||||||
|
chmod +x ~/.config/hypr/apply-pywal-colors.sh
|
||||||
|
chmod +x ~/.config/hypr/sync-caelestia-wallpaper.sh
|
||||||
|
|
||||||
|
# Test pywal with a wallpaper
|
||||||
|
wal -i /path/to/your/wallpaper.png
|
||||||
|
|
||||||
|
# Apply colors to Hyprland and Caelestia
|
||||||
|
~/.config/hypr/apply-pywal-colors.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**What this does:**
|
||||||
|
- Generates a color scheme from your wallpaper
|
||||||
|
- Applies colors to Hyprland window borders
|
||||||
|
- Applies colors to Caelestia shell (if installed)
|
||||||
|
- Restarts necessary services to apply changes
|
||||||
|
|
||||||
|
### Step 9: Install Waybar Config (If You Have It)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# If you have waybar configs in this repo
|
||||||
|
mkdir -p ~/.config/waybar
|
||||||
|
cp -r waybar/* ~/.config/waybar/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 10: Install Wlogout Config (If You Have It)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# If you have wlogout configs in this repo
|
||||||
|
mkdir -p ~/.config/wlogout
|
||||||
|
cp -r wlogout/* ~/.config/wlogout/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 11: Start Hyprland
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# If you're in a TTY, start Hyprland
|
||||||
|
Hyprland
|
||||||
|
|
||||||
|
# If already in Hyprland, reload the config
|
||||||
|
# Press SUPER + SHIFT + R (or restart Hyprland session)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 12: Set Up Autostart for Caelestia (Optional)
|
||||||
|
|
||||||
|
If you want Caelestia to start automatically with Hyprland:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Edit your Hyprland config
|
||||||
|
nvim ~/.config/hypr/hyprland.conf
|
||||||
|
|
||||||
|
# Add this line in the Autostart section (around line 21-25):
|
||||||
|
# exec-once = caelestia shell -d
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Post-Installation
|
||||||
|
|
||||||
|
### Setting Wallpaper with Pywal
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Generate colors and apply them
|
||||||
|
wal -i /path/to/wallpaper.png && ~/.config/hypr/apply-pywal-colors.sh
|
||||||
|
|
||||||
|
# Or use the wallpapers included in this repo
|
||||||
|
wal -i ~/.config/hypr/wallpapers/sakura.jpg && ~/.config/hypr/apply-pywal-colors.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note about waypaper and Caelestia:**
|
||||||
|
- This config uses **swaybg** as the wallpaper backend (not hyprpaper)
|
||||||
|
- Use `waypaper` GUI (Super+W) to select wallpapers
|
||||||
|
- Waypaper with swaybg backend automatically saves and restores your wallpaper on login
|
||||||
|
- **Important**: Caelestia shell has its own wallpaper management that may conflict with waypaper
|
||||||
|
- The config includes `sync-caelestia-wallpaper.sh` to automatically sync Caelestia's wallpaper reference with swaybg
|
||||||
|
- This sync happens automatically on startup and when you open waypaper (Super+W)
|
||||||
|
- For pywal integration, use `wal -i` as shown above, then run the apply script (which also syncs Caelestia)
|
||||||
|
|
||||||
|
### Monitor Configuration
|
||||||
|
|
||||||
|
If you have different monitors, adjust lines 4-18 in `~/.config/hypr/hyprland.conf`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nvim ~/.config/hypr/hyprland.conf
|
||||||
|
|
||||||
|
# Edit monitor configuration:
|
||||||
|
# monitor = eDP-1, 1920x1080@144, 1920x0, 1
|
||||||
|
# monitor = HDMI-A-1, 1920x1080@144, 0x0, 1, transform, 2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Keyboard Layout
|
||||||
|
|
||||||
|
Default is US/RU with ALT+SHIFT toggle. To change, edit `~/.config/hypr/hyprland.conf` line 42:
|
||||||
|
|
||||||
|
```
|
||||||
|
kb_layout = us, ru # Change to your layouts
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- **[KEYBINDS.md](KEYBINDS.md)** - Complete keybindings reference
|
- **[KEYBINDS.md](KEYBINDS.md)** - Complete keybindings reference
|
||||||
|
- **[PYWAL-SETUP.md](PYWAL-SETUP.md)** - Detailed pywal integration guide
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Hyprland won't start
|
||||||
|
- Check if all required packages are installed
|
||||||
|
- Review error logs: `journalctl -b | grep hyprland`
|
||||||
|
|
||||||
|
### Applications don't launch
|
||||||
|
- Make sure you edited the app variables in `hyprland.conf` (lines 27-34)
|
||||||
|
- Check if the applications are actually installed
|
||||||
|
|
||||||
|
### Pywal colors not applying
|
||||||
|
- Ensure the script is executable: `chmod +x ~/.config/hypr/apply-pywal-colors.sh`
|
||||||
|
- Check if pywal cache exists: `ls ~/.cache/wal/`
|
||||||
|
- Manually reload: `~/.config/hypr/apply-pywal-colors.sh`
|
||||||
|
|
||||||
|
### Caelestia colors not updating
|
||||||
|
```bash
|
||||||
|
# Restart Caelestia daemon
|
||||||
|
pkill caelestia && sleep 0.5 && caelestia shell -d &
|
||||||
|
```
|
||||||
|
|
||||||
|
### Wallpaper not showing on startup
|
||||||
|
```bash
|
||||||
|
# Restore wallpaper with waypaper
|
||||||
|
waypaper restore
|
||||||
|
|
||||||
|
# Manually restart swaybg if needed
|
||||||
|
pkill swaybg && swaybg &
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Note
|
## Note
|
||||||
|
|
||||||
Everything is still in progress.
|
Everything is still in progress. Feel free to customize and adjust to your needs!
|
||||||
|
|||||||
@@ -6,6 +6,15 @@
|
|||||||
|
|
||||||
echo "Applying pywal colors to Hyprland and Caelestia..."
|
echo "Applying pywal colors to Hyprland and Caelestia..."
|
||||||
|
|
||||||
|
# Update Caelestia's wallpaper reference to match the one pywal used
|
||||||
|
if [ -f ~/.cache/wal/wal ]; then
|
||||||
|
WALLPAPER_PATH=$(cat ~/.cache/wal/wal)
|
||||||
|
mkdir -p ~/.local/state/caelestia/wallpaper
|
||||||
|
ln -sf "$WALLPAPER_PATH" ~/.local/state/caelestia/wallpaper/current
|
||||||
|
echo "$WALLPAPER_PATH" > ~/.local/state/caelestia/wallpaper/path.txt
|
||||||
|
echo "✓ Caelestia wallpaper reference updated"
|
||||||
|
fi
|
||||||
|
|
||||||
# Copy the generated Caelestia scheme to the proper location
|
# Copy the generated Caelestia scheme to the proper location
|
||||||
if [ -f ~/.cache/wal/caelestia-scheme.json ]; then
|
if [ -f ~/.cache/wal/caelestia-scheme.json ]; then
|
||||||
mkdir -p ~/.local/state/caelestia
|
mkdir -p ~/.local/state/caelestia
|
||||||
|
|||||||
+4
-3
@@ -19,8 +19,9 @@ workspace = 9, monitor:eDP-1
|
|||||||
workspace = 10, monitor:eDP-1
|
workspace = 10, monitor:eDP-1
|
||||||
|
|
||||||
# Autostart
|
# Autostart
|
||||||
exec-once = caelestia shell -d # Caelestia shell (replaces waybar)
|
exec-once = waypaper --restore # Restore wallpaper first
|
||||||
exec-once = hyprpaper
|
exec-once = sleep 1 && ~/.config/hypr/sync-caelestia-wallpaper.sh # Sync Caelestia's wallpaper reference
|
||||||
|
exec-once = sleep 1 && caelestia shell -d # Caelestia shell (replaces waybar) - start after wallpaper loads
|
||||||
exec-once = hyprctl setcursor Adwaita 24 # Needed on NixOS
|
exec-once = hyprctl setcursor Adwaita 24 # Needed on NixOS
|
||||||
exec-once = mkdir -p $HOME/Pictures/Screenshots
|
exec-once = mkdir -p $HOME/Pictures/Screenshots
|
||||||
|
|
||||||
@@ -233,7 +234,7 @@ bind = $mainMod, B, exec, $browser
|
|||||||
bind = $mainMod, V, exec, $vscode
|
bind = $mainMod, V, exec, $vscode
|
||||||
bind = $mainMod, T, exec, $telegram
|
bind = $mainMod, T, exec, $telegram
|
||||||
bind = $mainMod, S, exec, $spotify
|
bind = $mainMod, S, exec, $spotify
|
||||||
bind = $mainMod, W, exec, waypaper
|
bind = $mainMod, W, exec, waypaper ; sleep 1 && ~/.config/hypr/sync-caelestia-wallpaper.sh
|
||||||
|
|
||||||
# Utility binds
|
# Utility binds
|
||||||
bind = CTRL SHIFT, ESCAPE, exec, $terminal htop # Task manager alternative
|
bind = CTRL SHIFT, ESCAPE, exec, $terminal htop # Task manager alternative
|
||||||
|
|||||||
Executable
+14
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Sync Caelestia's wallpaper reference with the currently running swaybg wallpaper
|
||||||
|
|
||||||
|
# Get the wallpaper path from running swaybg process
|
||||||
|
WALLPAPER_PATH=$(pgrep -a swaybg | grep -oP '(?<=-i )[^ ]+' | head -1)
|
||||||
|
|
||||||
|
if [ -n "$WALLPAPER_PATH" ] && [ -f "$WALLPAPER_PATH" ]; then
|
||||||
|
mkdir -p ~/.local/state/caelestia/wallpaper
|
||||||
|
ln -sf "$WALLPAPER_PATH" ~/.local/state/caelestia/wallpaper/current
|
||||||
|
echo "$WALLPAPER_PATH" > ~/.local/state/caelestia/wallpaper/path.txt
|
||||||
|
echo "✓ Caelestia wallpaper synced to: $WALLPAPER_PATH"
|
||||||
|
else
|
||||||
|
echo "⚠ Could not detect swaybg wallpaper"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user