Skip to content

Latest commit

 

History

History
108 lines (81 loc) · 3.45 KB

README.md

File metadata and controls

108 lines (81 loc) · 3.45 KB

Dotfiles

My Arch Linux + Hyprland configuration with synchronized dual-monitor workspaces.

Features

  • Synchronized workspaces: Both monitors switch together (KDE-style virtual desktops)
  • Smart monitor handling: Windows migrate automatically when external monitor disconnects
  • Touchpad gestures: 3-finger swipe to switch workspaces
  • Cursor preservation: Workspace switching doesn't move cursor

Structure

dotfiles/
├── hypr/           # Hyprland config
├── waybar/         # Waybar config  
├── alacritty/      # Alacritty terminal config
├── tmux/           # Tmux config
├── scripts/        # Custom scripts (hypr-*, tmux-sessionizer)
├── zsh/            # Zsh config
├── git/            # Git config
└── libinput-gestures/  # Touchpad gestures

Dependencies

# Core
sudo pacman -S hyprland waybar zsh stow alacritty tmux fzf

# For gestures
yay -S libinput-gestures
sudo gpasswd -a $USER input

# For monitor event handling
sudo pacman -S socat jq

Installation

git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh

Or install specific modules:

./install.sh hypr waybar scripts

Hyprland configuration

Hyprland 0.56+ loads ~/.config/hypr/hyprland.lua. Personal settings live in bindings.lua, input.lua, monitors.lua, looknfeel.lua, and autostart.lua. The defaults/ modules contain our Lua versions of the Omarchy defaults; changes to upstream .conf files do not automatically change this configuration. These modules were adapted from Omarchy a7995efa; its license is in LICENSES/Omarchy.txt.

Only SwayNC starts for notifications. The native gap toggle, monitor scripts, and screensaver use Lua APIs instead of the legacy hyprctl keyword interface.

Theme switching still follows Omarchy's current/theme/colors.toml palette, including Kanagawa's foreground border color. Custom themes can supply a native hyprland.lua in their theme directory; legacy theme .conf overrides are not loaded. Personal settings still take precedence.

Before applying changes:

Hyprland --verify-config -c ~/.config/hypr/hyprland.lua

The first switch from .conf to Lua requires logging out and back in. Do not use hyprctl reload full-reset on 0.56.2: switching config managers can crash that build. Subsequent Lua edits use an ordinary hyprctl reload.

The old .conf files remain as a rollback snapshot, not an active source of Lua settings. To roll back, move hyprland.lua outside ~/.config/hypr/, then log out and back in. Omarchy's old configuration editor menu entries still open those legacy files; edit the .lua files directly instead.

Workspace Layout

Key Laptop (eDP-1) External (HDMI-A-1)
Super+1 WS 1 WS 11
Super+2 WS 2 WS 12
Super+3 WS 3 WS 13
Super+8 WS 4 WS 14
Super+9 WS 5 WS 15
Super+0 WS 6 WS 16

Custom Scripts

  • hypr-switch-workspace - Switch synchronized workspace pairs
  • hypr-move-to-workspace - Move window (context-aware based on monitor)
  • hypr-event-listener - Handle monitor connect/disconnect events
  • hypr-gesture-workspace - Handle touchpad gesture workspace switching
  • tmux-sessionizer - Fuzzy find and attach to project tmux sessions

Notes

  • Requires Omarchy base config
  • External monitor config assumes HDMI-A-1 above eDP-1