initial config
This commit is contained in:
233
config/hypr/hyprland.conf
Normal file
233
config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,233 @@
|
||||
# ══════════════════════════════════════════
|
||||
# HYPRLAND CONFIGURATION — Omarchy-style
|
||||
# ══════════════════════════════════════════
|
||||
# Keyboard-first. Consistent keybinds. Clean aesthetics.
|
||||
# Super is the main modifier (like omarchy).
|
||||
# ══════════════════════════════════════════
|
||||
|
||||
# ── Monitors ─────────────────────────────
|
||||
# Adjust for your setup. "preferred" auto-detects.
|
||||
monitor = , preferred, auto, 1
|
||||
|
||||
# ── Autostart ────────────────────────────
|
||||
exec-once = waybar
|
||||
exec-once = walker --gapplication-service
|
||||
exec-once = mako
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
exec-once = wl-clip-persist --clipboard regular
|
||||
exec-once = nm-applet --indicator
|
||||
exec-once = blueman-applet
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
|
||||
# ── General ──────────────────────────────
|
||||
general {
|
||||
gaps_in = 4
|
||||
gaps_out = 8
|
||||
border_size = 2
|
||||
|
||||
# Gruvbox colors
|
||||
col.active_border = rgba(d79921ff) rgba(b8bb26ff) 45deg
|
||||
col.inactive_border = rgba(504945ff)
|
||||
|
||||
layout = dwindle
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
# ── Decoration ───────────────────────────
|
||||
decoration {
|
||||
rounding = 8
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 6
|
||||
passes = 2
|
||||
new_optimizations = true
|
||||
xray = false
|
||||
}
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 12
|
||||
render_power = 3
|
||||
color = rgba(1d2021cc)
|
||||
}
|
||||
}
|
||||
|
||||
# ── Animations ───────────────────────────
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = ease, 0.25, 0.1, 0.25, 1
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
|
||||
animation = windows, 1, 4, overshot, slide
|
||||
animation = windowsOut, 1, 4, ease, slide
|
||||
animation = fade, 1, 4, ease
|
||||
animation = workspaces, 1, 4, overshot, slidevert
|
||||
animation = border, 1, 6, ease
|
||||
}
|
||||
|
||||
# ── Layout ───────────────────────────────
|
||||
dwindle {
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
force_split = 2
|
||||
}
|
||||
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# ── Input ────────────────────────────────
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_options = caps:escape
|
||||
|
||||
follow_mouse = 1
|
||||
sensitivity = 0
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
tap-to-click = true
|
||||
drag_lock = true
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
}
|
||||
|
||||
# ── Misc ─────────────────────────────────
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
force_default_wallpaper = 0
|
||||
vfr = true
|
||||
}
|
||||
|
||||
|
||||
# ══════════════════════════════════════════
|
||||
# KEYBINDINGS — Omarchy-inspired
|
||||
# ══════════════════════════════════════════
|
||||
# Super = main modifier
|
||||
# Super + Return = terminal
|
||||
# Super + Space = app launcher
|
||||
# Super + Shift + Return = browser
|
||||
# Super + Q = close window
|
||||
# Super + K = show all keybinds (via walker)
|
||||
# ══════════════════════════════════════════
|
||||
|
||||
$mod = SUPER
|
||||
|
||||
# ── Core ─────────────────────────────────
|
||||
bind = $mod, Return, exec, alacritty
|
||||
bind = $mod SHIFT, Return, exec, firefox # Change to helium if installed
|
||||
bind = $mod, Space, exec, walker
|
||||
bind = $mod, Q, killactive
|
||||
bind = $mod SHIFT, Q, exit
|
||||
bind = $mod, V, togglefloating
|
||||
bind = $mod, F, fullscreen
|
||||
bind = $mod, P, pseudo # dwindle pseudo-tile
|
||||
bind = $mod, J, togglesplit # dwindle toggle split direction
|
||||
|
||||
# ── Applications ─────────────────────────
|
||||
bind = $mod, E, exec, nautilus # File manager
|
||||
bind = $mod, B, exec, bitwarden # Password manager
|
||||
bind = $mod SHIFT, S, exec, spotify
|
||||
bind = $mod, C, exec, cursor # Cursor IDE
|
||||
bind = $mod SHIFT, C, exec, code # VS Code (antigravity)
|
||||
|
||||
# ── Window Focus (vim keys) ──────────────
|
||||
bind = $mod, h, movefocus, l
|
||||
bind = $mod, l, movefocus, r
|
||||
bind = $mod, k, movefocus, u
|
||||
bind = $mod, j, movefocus, d
|
||||
|
||||
# ── Window Move ──────────────────────────
|
||||
bind = $mod SHIFT, h, movewindow, l
|
||||
bind = $mod SHIFT, l, movewindow, r
|
||||
bind = $mod SHIFT, k, movewindow, u
|
||||
bind = $mod SHIFT, j, movewindow, d
|
||||
|
||||
# ── Window Resize ────────────────────────
|
||||
binde = $mod CTRL, h, resizeactive, -40 0
|
||||
binde = $mod CTRL, l, resizeactive, 40 0
|
||||
binde = $mod CTRL, k, resizeactive, 0 -40
|
||||
binde = $mod CTRL, j, resizeactive, 0 40
|
||||
|
||||
# ── Workspaces ───────────────────────────
|
||||
bind = $mod, 1, workspace, 1
|
||||
bind = $mod, 2, workspace, 2
|
||||
bind = $mod, 3, workspace, 3
|
||||
bind = $mod, 4, workspace, 4
|
||||
bind = $mod, 5, workspace, 5
|
||||
bind = $mod, 6, workspace, 6
|
||||
bind = $mod, 7, workspace, 7
|
||||
bind = $mod, 8, workspace, 8
|
||||
bind = $mod, 9, workspace, 9
|
||||
bind = $mod, 0, workspace, 10
|
||||
|
||||
# Move window to workspace
|
||||
bind = $mod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Workspace navigation
|
||||
bind = $mod, Tab, workspace, e+1
|
||||
bind = $mod SHIFT, Tab, workspace, e-1
|
||||
|
||||
# ── Special Workspace (Scratchpad) ───────
|
||||
bind = $mod, S, togglespecialworkspace, magic
|
||||
bind = $mod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# ── Screenshots ──────────────────────────
|
||||
bind = , Print, exec, grim -g "$(slurp)" - | swappy -f -
|
||||
bind = $mod, Print, exec, grim - | swappy -f -
|
||||
|
||||
# ── Media Keys ───────────────────────────
|
||||
bindel = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
|
||||
bindel = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
||||
bindl = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
|
||||
bindl = , XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle
|
||||
bindel = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise
|
||||
bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness lower
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
# ── Clipboard History ────────────────────
|
||||
bind = $mod CTRL, V, exec, cliphist list | walker --dmenu | cliphist decode | wl-copy
|
||||
|
||||
# ── Lock Screen ──────────────────────────
|
||||
bind = $mod CTRL, L, exec, hyprlock
|
||||
|
||||
# ── Mouse Bindings ───────────────────────
|
||||
bindm = $mod, mouse:272, movewindow
|
||||
bindm = $mod, mouse:273, resizewindow
|
||||
|
||||
# ── Window Rules ─────────────────────────
|
||||
windowrulev2 = float, class:^(pavucontrol)$
|
||||
windowrulev2 = float, class:^(blueman-manager)$
|
||||
windowrulev2 = float, class:^(nm-connection-editor)$
|
||||
windowrulev2 = float, class:^(bitwarden)$
|
||||
windowrulev2 = float, title:^(Picture-in-Picture)$
|
||||
windowrulev2 = pin, title:^(Picture-in-Picture)$
|
||||
|
||||
# ── Environment Variables ────────────────
|
||||
env = XCURSOR_SIZE, 24
|
||||
env = QT_QPA_PLATFORMTHEME, qt5ct
|
||||
env = QT_QPA_PLATFORM, wayland
|
||||
env = GDK_BACKEND, wayland
|
||||
env = SDL_VIDEODRIVER, wayland
|
||||
env = CLUTTER_BACKEND, wayland
|
||||
env = XDG_CURRENT_DESKTOP, Hyprland
|
||||
env = XDG_SESSION_TYPE, wayland
|
||||
env = XDG_SESSION_DESKTOP, Hyprland
|
||||
Reference in New Issue
Block a user