080828620b
~/.config, started reworking README.org
312 lines
10 KiB
Plaintext
312 lines
10 KiB
Plaintext
exec-once = /nix/store/c9cnbxhxbagj7gfpc1g5hl4x4f8dzayv-dbus-1.16.2/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
|
|
exec-once=hyprctl plugin load /nix/store/pp3nj4j10p34f3hx2kdwd6m3yxzkaygd-hyprscrolling-0.53.0/lib/libhyprscrolling.so
|
|
exec-once=hyprctl plugin load /nix/store/bmrcf2a9sa5adbgmlg38kgzssj7s5wjz-hyprexpo-0.53.0/lib/libhyprexpo.so
|
|
source=/nix/store/mjbgcv2gizslspivcnr7bpqi7igrs75z-catppuccin-hyprland-0-unstable-2024-06-19/mocha.conf
|
|
source=/nix/store/09fs6r6g6l8s3a433bzqwbjgp8d5dal1-hyprland-blue-accent.conf
|
|
windowrule=match:class nm-connection-editor, float 1, center 1, size 900 700
|
|
source = /home/henrov/.config/hypr/conf.d/90-hyprscrolling.conf
|
|
|
|
##############################################
|
|
# These files are just for reference.
|
|
# If you want to change anything definitive, edit the source files in:
|
|
# ~/henrovnix/assets/conf
|
|
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
|
|
#
|
|
# After that, run:
|
|
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
|
#
|
|
# If everything still works, you can use the same command but:
|
|
# - keep "switch"
|
|
# - and add a reboot:
|
|
#
|
|
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
|
#
|
|
# NOTE:
|
|
# Make sure the lines starting with: cd ~/henrovnix
|
|
# are written as ONE single line.
|
|
###############################################
|
|
|
|
############################
|
|
# Variables
|
|
############################
|
|
|
|
# Colors (Hyprland "col" values commonly use rgba(aarrggbb)-style hex)
|
|
# See Hyprland variable / type docs for color formats & bools. :contentReference[oaicite:2]{index=2}
|
|
$base = rgba(1e1e2eff)
|
|
$inactive = rgba(595959aa)
|
|
$blue = rgba(33ccffee)
|
|
$green = rgba(00ff99ee)
|
|
|
|
# Recommended for correct environment in systemd user session / portals. :contentReference[oaicite:4]{index=4}
|
|
exec-once = dbus-update-activation-environment --systemd --all
|
|
exec-once = uwsm app -- waybar
|
|
|
|
# put these at top-level (recommended), not inside general { }:
|
|
layerrule = blur on, ignore_alpha 1, match:namespace waybar
|
|
layerrule = xray 1, match:namespace waybar
|
|
layerrule = blur on, ignore_alpha 1, match:namespace walker
|
|
layerrule = xray 1, match:namespace walker
|
|
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
|
|
layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window
|
|
|
|
input {
|
|
follow_mouse = 1
|
|
kb_layout = us
|
|
kb_options = ctrl:nocaps
|
|
sensitivity = -0.5
|
|
accel_profile = adaptive
|
|
scroll_factor = 0.5
|
|
touchpad {
|
|
natural_scroll = yes
|
|
scroll_factor = 0.5
|
|
}
|
|
}
|
|
cursor {
|
|
no_hardware_cursors = true
|
|
}
|
|
general {
|
|
gaps_in = 2
|
|
gaps_out = 4
|
|
border_size = 2
|
|
# Gradient syntax: color color angle (e.g. 45deg). :contentReference[oaicite:5]{index=5}
|
|
col.active_border = $blue $green 45deg
|
|
col.inactive_border = $inactive
|
|
layout = scrolling
|
|
resize_on_border = true
|
|
extend_border_grab_area = 20 # Makes it easier to "grab" the edge
|
|
}
|
|
decoration {
|
|
rounding = 5
|
|
blur {
|
|
enabled = yes
|
|
size = 8
|
|
passes = 3
|
|
new_optimizations = on
|
|
}
|
|
}
|
|
animations {
|
|
enabled = yes
|
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
animation = windows, 1, 7, myBezier
|
|
animation = windowsOut, 1, 7, default, popin 80%
|
|
animation = border, 1, 10, default
|
|
animation = borderangle, 1, 8, default
|
|
animation = fade, 1, 7, default
|
|
animation = workspaces, 1, 6, default
|
|
}
|
|
dwindle {
|
|
pseudotile = yes
|
|
preserve_split = yes
|
|
}
|
|
misc {
|
|
disable_hyprland_logo = false
|
|
focus_on_activate = true
|
|
}
|
|
# Start required session helpers
|
|
exec-once = hypridle
|
|
exec-once = hyprpolkitagent
|
|
# Lid close: lock only if no external monitor is connected
|
|
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-lock.sh
|
|
# Lid open: turn DPMS back on (does not unlock)
|
|
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on
|
|
|
|
exec-once = systemd-run --user --scope --unit=elephant elephant
|
|
exec-once = ~/.config/hypr/scripts/hyprscrolling-listener.sh
|
|
|
|
# --- Repo keybindings ---
|
|
##############################################
|
|
# These files are just for reference.
|
|
# If you want to change anything, edit the source files in:
|
|
# ~/henrovnix/assets/conf
|
|
#
|
|
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
|
|
# After that, run:
|
|
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
|
#
|
|
# If everything still works, you can use the same command but:
|
|
# - keep "switch"
|
|
# - and add a reboot:
|
|
#
|
|
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
|
#
|
|
# Make sure the lines starting with: cd ~/henrovnix
|
|
# are written as ONE single line.
|
|
###############################################
|
|
|
|
|
|
|
|
# Keybindings #
|
|
###############
|
|
|
|
$mainMod = SUPER
|
|
|
|
# use walker to show exec menu
|
|
bind = $mainMod, Space , exec, walker
|
|
bind = $mainMod, P, pseudo
|
|
bind = $mainMod, T, togglesplit
|
|
|
|
# grimblast
|
|
bind = $mainMod SHIFT, p, exec, grimblast -n -f copysave active
|
|
bind = $mainMod SHIFT, a, exec, grimblast -n -f copysave area
|
|
bind = $mainMod ALT, p, exec, grimblast -n -f copysave output
|
|
bind = $mainMod CTRL, p, exec, grimblast -n -f copysave screen
|
|
|
|
# Terminal / launcher / kill / reload
|
|
bind = $mainMod, E, exec, thunar
|
|
bind = $mainMod, RETURN, exec, kitty
|
|
bind = $mainMod, D, exec, wofi --show drun
|
|
bind = $mainMod, Q, killactive,
|
|
bind = $mainMod SHIFT, Q, exit,
|
|
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
|
|
|
# Switch windows
|
|
bind = $mainMod, TAB, hyprexpo:expo, toggle
|
|
bind = ALT, TAB, cyclenext,
|
|
# bind = ALT SHIFT, TAB, cyclenext prev
|
|
|
|
# Hyprscrolling
|
|
bind = $mainMod, period, layoutmsg, move +col
|
|
bind = $mainMod, comma, layoutmsg, swapcol l
|
|
# Make / break a tab-group (stack)
|
|
bind = $mainMod, S, togglegroup
|
|
# Cycle tabs in the group
|
|
bind = $mainMod, L, changegroupactive, f
|
|
bind = $mainMod, H, changegroupactive, b
|
|
bind = $mainMod, T, exec, ~/.config/hypr/scripts/toggle-layout-scrolling-dwindle.sh
|
|
|
|
# Focus movement
|
|
bind = $mainMod, H, movefocus, l
|
|
bind = $mainMod, L, movefocus, r
|
|
bind = $mainMod, K, movefocus, u
|
|
bind = $mainMod, J, movefocus, d
|
|
bind = $mainMod, left, movefocus, l
|
|
bind = $mainMod, right, movefocus, r
|
|
bind = $mainMod, up, movefocus, u
|
|
bind = $mainMod, down, movefocus, d
|
|
|
|
# Move windows
|
|
bind = $mainMod SHIFT, H, movewindow, l
|
|
bind = $mainMod SHIFT, L, movewindow, r
|
|
bind = $mainMod SHIFT, K, movewindow, u
|
|
bind = $mainMod SHIFT, J, movewindow, d
|
|
bind = $mainMod SHIFT, left, movewindow, l
|
|
bind = $mainMod SHIFT, right, movewindow, r
|
|
bind = $mainMod SHIFT, up, movewindow, u
|
|
bind = $mainMod SHIFT, down, movewindow, d
|
|
|
|
# Resize windows
|
|
bind = $mainMod CTRL, H, resizeactive, -30 0
|
|
bind = $mainMod CTRL, L, resizeactive, 30 0
|
|
bind = $mainMod CTRL, K, resizeactive, 0 -30
|
|
bind = $mainMod CTRL, J, resizeactive, 0 30
|
|
|
|
# Floating / fullscreen
|
|
bind = $mainMod, V, togglefloating,
|
|
bind = $mainMod, F, fullscreen, 0
|
|
bind = $mainMod SHIFT, F, fullscreen, 1
|
|
|
|
# Workspaces
|
|
bind = $mainMod, 1, workspace, 1
|
|
bind = $mainMod, 2, workspace, 2
|
|
bind = $mainMod, 3, workspace, 3
|
|
bind = $mainMod, 4, workspace, 4
|
|
bind = $mainMod, 5, workspace, 5
|
|
bind = $mainMod, 6, workspace, 6
|
|
bind = $mainMod, 7, workspace, 7
|
|
bind = $mainMod, 8, workspace, 8
|
|
bind = $mainMod, 9, workspace, 9
|
|
bind = $mainMod, 0, workspace, 10
|
|
|
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
|
|
# Cycle workspaces
|
|
bind = $mainMod, mouse_down, workspace, e+1
|
|
bind = $mainMod, mouse_up, workspace, e-1
|
|
|
|
# Mouse drag
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
|
|
#########################
|
|
# Screenshots
|
|
#########################
|
|
bind = $mainMod SHIFT, s, exec, grim -g "$(slurp)" - | wl-copy
|
|
bind = , XF86Screenshot, exec, grim - | wl-copy
|
|
|
|
#########################
|
|
# Audio (pamixer)
|
|
#########################
|
|
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
|
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
|
bind = , XF86AudioMute, exec, pamixer -t
|
|
bind = , XF86AudioMicMute, exec, pamixer --default-source -t
|
|
|
|
#########################
|
|
# Media (playerctl)
|
|
#########################
|
|
bind = , XF86AudioPlay, exec, playerctl play-pause
|
|
bind = , XF86AudioPause, exec, playerctl pause
|
|
bind = , XF86AudioNext, exec, playerctl next
|
|
bind = , XF86AudioPrev, exec, playerctl previous
|
|
bind = , XF86AudioStop, exec, playerctl stop
|
|
|
|
#########################
|
|
# Brightness (brightnessctl)
|
|
#########################
|
|
bind = , XF86MonBrightnessUp, exec, brightnessctl set +10%
|
|
bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
|
|
bind = , XF86KbdBrightnessUp, exec, brightnessctl -d '*kbd_backlight*' set +10%
|
|
bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%-
|
|
|
|
#########################
|
|
# Power / session
|
|
#########################
|
|
bind = , XF86Sleep, exec, systemctl suspend
|
|
bind = , XF86PowerOff, exec, systemctl poweroff
|
|
bind = , XF86WakeUp, exec, systemctl suspend
|
|
bind = $mainMod, L, exec, loginctl lock-session
|
|
bind = $mainMod, X, exec, ~/.config/hypr/scripts/powermenu.sh
|
|
|
|
#########################
|
|
# Laptop lid settings
|
|
#########################
|
|
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-action.sh
|
|
bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
|
|
|
|
#########################
|
|
# Start apps
|
|
#########################
|
|
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
|
bind = CTRL ALT, S, exec, spotify
|
|
bind = $mainMod, z, exec, zeditor
|
|
bind = $mainMod, w, exec, zen --url https://nextcloud.data-pro.nu
|
|
|
|
|
|
# Default portable monitor rule
|
|
monitor=DP-1,3840x1080@144,1920x0,1
|
|
|
|
############################
|
|
# Hyprexpo (workspace/window overview)
|
|
############################
|
|
|
|
# Basic plugin config (tweak as you like)
|
|
plugin {
|
|
hyprexpo {
|
|
columns = 3
|
|
gaps_in = 5
|
|
gaps_out = 20
|
|
|
|
# Optional; comment out if you don't want it
|
|
# workspace_method = center current
|
|
}
|
|
}
|