In between commit
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
# ./assets/conf/desktop/hypr/animations.conf
|
||||
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
# Keyboard and mouse settings
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_options = ctrl:nocaps
|
||||
sensitivity = -0.5
|
||||
accel_profile = adaptive
|
||||
scroll_factor = 0.5
|
||||
}
|
||||
|
||||
# Scrolling modifier settings
|
||||
input {
|
||||
scroll_main_mod = alt
|
||||
scroll_main_mod_invert = no
|
||||
scroll_per_border = yes
|
||||
}
|
||||
|
||||
# Touchpad settings (applies to all touchpads)
|
||||
input:touchpad:* {
|
||||
natural_scroll = yes
|
||||
scroll_factor = 0.5
|
||||
}
|
||||
|
||||
# Focus settings
|
||||
focus {
|
||||
follow_mouse = yes
|
||||
new_windows = smart
|
||||
}
|
||||
|
||||
# Miscellaneous settings
|
||||
misc {
|
||||
resize_step = 10 10
|
||||
anim_resize_friction = 0.1
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
$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 = 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
|
||||
@@ -0,0 +1,5 @@
|
||||
exec-once = dbus-update-activation-environment --systemd --all
|
||||
exec-once = uwsm app -- waybar
|
||||
exec-once = hypridle
|
||||
exec-once = hyprpolkitagent
|
||||
exec-once = systemd-run --user --scope --unit=elephant elephant
|
||||
@@ -0,0 +1,16 @@
|
||||
general {
|
||||
lock_cmd = hyprlock
|
||||
after_sleep_cmd = hyprctl dispatch dpms on
|
||||
ignore_dbus_inhibit = false
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 900
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# ~/.config/hypr/hyprlock.conf
|
||||
|
||||
general {
|
||||
grace = 2
|
||||
ignore_empty_input = true
|
||||
}
|
||||
|
||||
background {
|
||||
path = ~/.config/hypr/lock.png
|
||||
blur_passes = 2
|
||||
blur_size = 6
|
||||
}
|
||||
|
||||
input-field {
|
||||
size = 320, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.20
|
||||
fade_on_empty = true
|
||||
placeholder_text = "Password"
|
||||
position = 0, -120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
text = $TIME
|
||||
font_size = 72
|
||||
position = 0, 120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
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
|
||||
@@ -0,0 +1,24 @@
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 4
|
||||
border_size = 2
|
||||
col.active_border = rgba($blue) rgba($green) 45deg
|
||||
col.inactive_border = rgba($inactive)
|
||||
layout = dwindle
|
||||
resize_on_border = yes
|
||||
border_grab_modifier = 20
|
||||
disable_hyprland_logo = no # Use 'no' instead of 'false'
|
||||
focus_on_activate = yes
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 5
|
||||
blur = yes
|
||||
blur_size = 8
|
||||
blur_passes = 3
|
||||
blur_new_optimizations = yes
|
||||
blur_exclude = fullscreen
|
||||
drop_shadow = yes
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
# Default portable monitor rule
|
||||
monitor=DP-1,3840x1080@144,1920x0,1
|
||||
@@ -0,0 +1,6 @@
|
||||
# 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)
|
||||
@@ -0,0 +1,10 @@
|
||||
# Floating and centering nm-connection-editor
|
||||
windowrule = float, nm-connection-editor
|
||||
windowrule = move center, nm-connection-editor
|
||||
windowrule = size 900 700, nm-connection-editor
|
||||
|
||||
# Center all new windows by default
|
||||
windowrule = center, ^(.*)
|
||||
|
||||
# Example: Float specific apps (uncomment to use)
|
||||
# windowrule = float, ^(pavucontrol)$
|
||||
@@ -0,0 +1,30 @@
|
||||
# Workspace definitions (modern syntax)
|
||||
workspace = 1
|
||||
workspace = 2
|
||||
workspace = 3
|
||||
workspace = 4
|
||||
workspace = 5
|
||||
|
||||
# Auto-launch apps on specific workspaces (use `exec` with `workspace` rule)
|
||||
exec-once = kitty, workspace 1
|
||||
exec-once = flatpak run app.betterbird.zen, workspace 2
|
||||
exec-once = zen, workspace 3
|
||||
|
||||
# Force a specific layout for a workspace
|
||||
workspace 1, layout:dwindle
|
||||
workspace 2, layout:master
|
||||
workspace 3, layout:msg
|
||||
|
||||
# Set workspace persistence
|
||||
workspace 1, persistent:true
|
||||
workspace 2, persistent:true
|
||||
|
||||
# Move specific apps to workspaces automatically
|
||||
windowrule = move workspace 1, ^(kitty)$
|
||||
windowrule = move workspace 2, ^(zen)$
|
||||
windowrule = move workspace 3, ^(libreoffice)$
|
||||
|
||||
# Workspace behavior
|
||||
workspace {
|
||||
cycle_move_empty = no
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
general {
|
||||
lock_cmd = hyprlock
|
||||
after_sleep_cmd = hyprctl dispatch dpms on
|
||||
ignore_dbus_inhibit = false
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 900
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
source = conf/variables.conf
|
||||
# source = conf/behaviour.conf
|
||||
# source = conf/layout.conf
|
||||
source = conf/animations.conf
|
||||
source = conf/layer-rules.conf
|
||||
# source = conf/window-rules.conf
|
||||
source = conf/monitor-rules.conf
|
||||
# source = conf/workspace-rules.conf
|
||||
source = conf/bindings.conf
|
||||
|
||||
source = conf/exec-once.conf
|
||||
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# ~/.config/hypr/hyprlock.conf
|
||||
|
||||
general {
|
||||
grace = 2
|
||||
ignore_empty_input = true
|
||||
}
|
||||
|
||||
background {
|
||||
path = ~/.config/hypr/lock.png
|
||||
blur_passes = 2
|
||||
blur_size = 6
|
||||
}
|
||||
|
||||
input-field {
|
||||
size = 320, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.20
|
||||
fade_on_empty = true
|
||||
placeholder_text = "Password"
|
||||
position = 0, -120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
text = $TIME
|
||||
font_size = 72
|
||||
position = 0, 120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
w-1= /home/henrov/nixos_conf/wallpaperstuff/pictures/1.jpg
|
||||
w-2= /home/henrov/nixos_conf/wallpaperstuff/pictures/2.jpg
|
||||
w-3= /home/henrov/nixos_conf/wallpaperstuff/pictures/3.jpg
|
||||
w-4= /home/henrov/nixos_conf/wallpaperstuff/pictures/4.png
|
||||
w-5= /home/henrov/nixos_conf/wallpaperstuff/pictures/5.jpg
|
||||
w-6= /home/henrov/nixos_conf/wallpaperstuff/pictures/6.jpg
|
||||
w-7= /home/henrov/nixos_conf/wallpaperstuff/pictures/7.jpg
|
||||
w-8= /home/henrov/nixos_conf/wallpaperstuff/pictures/8.jpg
|
||||
w-9= /home/henrov/nixos_conf/wallpaperstuff/pictures/9.jpg
|
||||
@@ -0,0 +1,9 @@
|
||||
w-1= /home/henrov/nixos_conf/wallpaperstuff/pictures/1.jpg
|
||||
w-2= /home/henrov/nixos_conf/wallpaperstuff/pictures/2.jpg
|
||||
w-3= /home/henrov/nixos_conf/wallpaperstuff/pictures/3.jpg
|
||||
w-4= /home/henrov/nixos_conf/wallpaperstuff/pictures/4.png
|
||||
w-5= /home/henrov/nixos_conf/wallpaperstuff/pictures/5.jpg
|
||||
w-6= /home/henrov/nixos_conf/wallpaperstuff/pictures/6.jpg
|
||||
w-7= /home/henrov/nixos_conf/wallpaperstuff/pictures/7.jpg
|
||||
w-8= /home/henrov/nixos_conf/wallpaperstuff/pictures/8.jpg
|
||||
w-9= /home/henrov/nixos_conf/wallpaperstuff/pictures/9.jpg
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 406 KiB |
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
INTERNAL="eDP1"
|
||||
|
||||
has_external() {
|
||||
# Any monitor name that is not INTERNAL counts as external
|
||||
hyprctl monitors -j | grep -q '"name"' && ! hyprctl monitors -j | grep -q "\"name\":\"$INTERNAL\"\""
|
||||
}
|
||||
|
||||
has_external_robust() {
|
||||
# robust without jq: count monitor names; if there's >1 OR there's a name not INTERNAL
|
||||
local names
|
||||
names="$(hyprctl monitors -j | sed -n 's/.*"name":"\([^"]*\)".*/\1/p')"
|
||||
# if any name != INTERNAL then external
|
||||
echo "$names" | grep -vx "$INTERNAL" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
if has_external_robust; then
|
||||
# Clamshell: disable laptop panel, no lock
|
||||
hyprctl keyword monitor "${INTERNAL},disable"
|
||||
else
|
||||
# Laptop only: suspend
|
||||
systemctl suspend
|
||||
fi
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
OPTIONS=" Lock
|
||||
Logout (Hyprland)
|
||||
Suspend
|
||||
Hibernate
|
||||
Reboot
|
||||
Shutdown
|
||||
Cancel"
|
||||
|
||||
CHOICE=$(printf "%s" "$OPTIONS" | walker --dmenu )
|
||||
|
||||
case "$CHOICE" in
|
||||
"Lock")
|
||||
loginctl lock-session
|
||||
;;
|
||||
"Logout (Hyprland)")
|
||||
hyprctl dispatch exit
|
||||
;;
|
||||
"Suspend")
|
||||
loginctl lock-session && systemctl suspend
|
||||
;;
|
||||
"Hibernate")
|
||||
loginctl lock-session && systemctl hibernate
|
||||
;;
|
||||
"Reboot")
|
||||
systemctl reboot
|
||||
;;
|
||||
"Shutdown")
|
||||
systemctl poweroff
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user