Files
dotfiles/.config/README.md

232 lines
12 KiB
Markdown

# Hyprland Configuration Requirements
This README contains all the necessary applications and dependencies required to run the Hyprland configuration found in this repository. My dotfiles are based on the CachyOS Hyprland configuration but extended with additional features and color schemes using wallust and other stuff.
## Packages used
### Window Management
- **Hyprland**: Tiling window manager
- **Waybar**: Status bar with system information
- **Mako**: Notification daemon
### Application Launching
- **Tofi**: Application launcher (Super + Space)
- **Alacritty**: Terminal emulator (Super + Return)
- **Dolphin**: File manager (Super + E)
### Screenshots and Recording
- **Hyprshot**: Window, output, and region screenshots
- **Grim + Slurp**: Screen capture selection
- **Swappy**: Screenshot annotation
- **wl-screenrec**: Screen recording with compression options
### System Controls
- **Swaylock**: Screen locker with customizable options
- **Brightnessctl**: Screen brightness control
- **Playerctl**: Media playback control
- **Volume controls**: Via PulseAudio/WirePlumber
### Utilities
- **Cliphist**: Clipboard history (Super + C)
- **Hyprpicker**: Color picker (Super + P)
- **Waypaper**: Wallpaper management
- **Wallust**: Color scheme generation
- **cmatrix** & **swaylock**: Matrix style screen lock
## Core Dependencies5
Install all packages:
```bash
yay -S hyprland hyprpaper hyprshot hyprpicker waybar mako swaylock swayidle grim slurp swappy alacritty tofi dolphin blueman-applet fcitx5 nm-applet polkit-kde-agent wob wl-screenrec ffmpeg wireplumber pulseaudio playerctl brightnessctl btop xsensors wl-paste xclip cliphist wl-copy waypaper wallust gnome-calculator ttf-hack cmatrix swaylock
```
## Required Packages
### Hyprland and Core Wayland Components
```bash
yay -S hyprland hyprpaper hyprshot hyprpicker
```
### Window Manager and Desktop Environment
```bash
yay -S waybar mako swaylock swayidle grim slurp swappy
```
### Terminal and Application Launcher
```bash
yay -S alacritty tofi
```
### File Manager and System Tools
```bash
yay -S dolphin blueman-applet fcitx5 nm-applet
```
### Authentication and System Integration
```bash
yay -S polkit-kde-agent wob
```
### Screenshot and Screen Recording
```bash
yay -S hyprshot grim slurp swappy wl-screenrec ffmpeg
```
### Audio and Media Control
```bash
yay -S wireplumber pulseaudio pactl playerctl
```
### System Monitoring and Hardware Control
```bash
yay -S brightnessctl btop xsensors
```
### Clipboard and Utility Tools
```bash
yay -S wl-paste xclip cliphist wl-copy
```
### Wallpaper Management
```bash
yay -S waypaper wallust
```
### Calculator and Additional Apps
```bash
yay -S gnome-calculator
```
### Fonts (if using Hack font for swaylock)
```bash
yay -S ttf-hack
```
## Optional Dependencies
### Alternative Launcher
Some keybinds use `wofi`, `rofi` or `fuzzel` as an alternative to `tofi`, e.g. the `Super + S` for wl-screenrec recording. You can install any of these launchers based on your preference but wallust is configured to use `tofi` by default.
```bash
yay -S rofi wofi fuzzel
```
### Video Compression (for screen recording)
The screencasting script uses `ffmpeg` for video compression. Ensure you have it installed:
```bash
yay -S ffmpeg
```
## Complete Installation Command
You can install all required packages with this single command:
```bash
yay -S hyprland hyprpaper hyprshot hyprpicker waybar mako swaylock swayidle grim slurp swappy alacritty tofi dolphin blueman-applet fcitx5 nm-applet polkit-kde-agent wob wl-screenrec ffmpeg wireplumber pulseaudio playerctl brightnessctl btop xsensors wl-paste xclip cliphist wl-copy waypaper wallust gnome-calculator ttf-hack
```
## Configuration Structure
The Hyprland configuration is organized as follows:
- `hyprland.conf` - Main configuration file that sources other configs
- `config/autostart.conf` - Applications that start automatically
- `config/keybinds.conf` - Keyboard shortcuts and bindings
- `config/defaults.conf` - Default applications (terminal, file manager, etc.)
- `config/environment.conf` - Environment variables
- `scripts/` - Helper scripts for various functions
## Post-Installation Setup
1. **Audio Setup**: Ensure PulseAudio or PipeWire is properly configured
2. **Input Method**: Configure fcitx5 if needed for international input
3. **Bluetooth**: Use blueman-applet for Bluetooth device management
4. **Network**: nm-applet provides network management in the system tray
5. **Wallpapers**: Use waypaper to set and manage wallpapers
## Troubleshooting
- If waybar doesn't start, check that all waybar modules dependencies are installed
- For audio issues, verify PulseAudio/PipeWire service status
- Screen lock issues may require proper PAM configuration
- Missing fonts can cause display issues in applications
## Keyboard Shortcuts
| Keybind | Action | Description |
| -------------------------------- | ------------------ | ----------------------------------------- |
| **Application Launching** | | |
| `Super + Return` | Terminal | Opens Alacritty terminal |
| `Super + E` | File Manager | Opens Dolphin file manager |
| `Super + Space` | App Launcher | Opens Tofi application launcher |
| `Super + Shift + P` | Calculator | Opens gnome-calculator |
| **Window Management** | | |
| `Super + Q` | Close Window | Closes current window (not kill) |
| `Super + V` | Toggle Float | Switches between floating and tiling mode |
| `Super + F` | Fullscreen | Toggles fullscreen mode |
| `Super + Y` | Pin Window | Pin window (shows on all workspaces) |
| `Super + J` | Toggle Split | Toggles window split mode |
| `Super + K` | Toggle Group | Toggles window group mode |
| `Super + Tab` | Group Next | Switches to next window in group |
| **Window Movement** | | |
| `Super + Shift + ←/→/↑/↓` | Move Window | Move active window in direction |
| `Super + ←/→/↑/↓` | Move Focus | Move focus in direction |
| `Super + Mouse Left` | Move Window | Drag window with mouse |
| `Super + Mouse Right` | Resize Window | Resize window with mouse |
| **Window Resizing** | | |
| `Super + Ctrl + Shift + ←/→/↑/↓` | Quick Resize | Quick resize in direction |
| `Super + Ctrl + Shift + H/J/K/L` | Quick Resize | Quick resize (vim keys) |
| `Super + R` | Resize Mode | Activate resize mode |
| **In Resize Mode:** | | |
| `←/→/↑/↓` or `H/J/K/L` | Resize | Resize window in direction |
| `Escape` | Exit Resize | Exit resize mode |
| **Workspace Management** | | |
| `Super + 1-9,0` | Switch Workspace | Switch to workspace 1-10 |
| `Super + Ctrl + 1-9,0` | Move & Switch | Move window and switch to workspace |
| `Super + Shift + 1-9,0` | Move Silent | Move window to workspace (stay current) |
| `Super + Ctrl + ←/→` | Move & Switch | Move window and switch workspace |
| `Super + Alt + ←/→` | Switch Workspace | Switch to previous/next workspace |
| `Super + , / .` | Scroll Workspaces | Scroll through workspaces |
| `Super + /` | Previous Workspace | Switch to previous workspace |
| `Super + Scroll` | Scroll Workspaces | Scroll workspaces with mouse |
| **Special Workspaces** | | |
| `Super + -` | Move to Special | Move window to special workspace |
| `Super + =` | Toggle Special | Toggle special workspace |
| `Super + F1` | Scratchpad | Toggle scratchpad workspace |
| `Super + Alt + Shift + F1` | Move to Scratchpad | Move window to scratchpad |
| **Screenshots & Recording** | | |
| `Super + A` | Capture Selection | Screen capture selection with grim/slurp |
| `Print` | Screenshot Monitor | Screenshot current monitor |
| `Super + Print` | Screenshot Window | Screenshot current window |
| `Shift + Print` | Screenshot Region | Screenshot selected region |
| `Super + S` | Record/Screenshot | Advanced recording/screenshot script |
| **System Controls** | | |
| `Super + L` | Lock Screen | Lock screen with swaylock-fancy |
| `Super + Shift + M` | Exit Hyprland | Terminate user session |
| `Super + O` | Reload Waybar | Restart Waybar |
| `Super + G` | Remove Gaps | Remove gaps between windows |
| `Super + Shift + G` | Default Gaps | Set CachyOS default gaps |
| **Media Controls** | | |
| `XF86AudioPlay` | Play/Pause | Toggle media playback |
| `XF86AudioNext` | Next Track | Next media track |
| `XF86AudioPrev` | Previous Track | Previous media track |
| `XF86AudioRaiseVolume` | Volume Up | Increase volume |
| `XF86AudioLowerVolume` | Volume Down | Decrease volume |
| `XF86AudioMute` | Mute Toggle | Toggle audio mute |
| `XF86MonBrightnessUp` | Brightness Up | Increase screen brightness (+5%) |
| `XF86MonBrightnessDown` | Brightness Down | Decrease screen brightness (-5%) |
| **Utilities** | | |
| `Super + P` | Color Picker | Launch hyprpicker |
| `Super + C` | Clipboard History | Open clipboard history with tofi |
## Customization
- Edit `config/defaults.conf` to change default applications
- Modify `config/keybinds.conf` to customize keyboard shortcuts
- Adjust `config/autostart.conf` to change startup applications
- Update waybar configuration in `~/.config/waybar/` for status bar customization