Regenerated

This commit is contained in:
2026-03-26 17:23:20 +00:00
parent 3a4998acfb
commit bf160e963a
46 changed files with 3403 additions and 32 deletions
@@ -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
}
@@ -25,8 +25,7 @@ bind = ALT, TAB, cyclenext,
# bind = ALT SHIFT, TAB, cyclenext prev
# switch layouts
# $MOD+A opens layout selector
bind = $MOD+A, exec, ~/.config/hypr/scripts/layout-selector.sh
# Hyprscrolling
bind = $mainMod, period, layoutmsg, move +col
@@ -36,7 +35,7 @@ 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
bind = $mainMod, T, exec, ~/.config/hypr/scripts/layout-selector.sh
# Focus movement
bind = $mainMod, H, movefocus, l
+1
View File
@@ -2,3 +2,4 @@ exec-once = dbus-update-activation-environment --systemd --all
exec-once = hypridle
exec-once = hyprpolkitagent
exec-once = systemd-run --user --scope --unit=elephant elephant
exec-once = bash -c "sleep 5 && waybar"
@@ -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
}
@@ -8,3 +8,31 @@ source = ./layout.conf
source = ./monitor-rules.conf
# source = ./window-rules.conf
# source = ./workspace-rules.conf
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
decoration {
shadow {
color=rgba(1e1e2e99)
}
}
general {
col.active_border=0xff97cbcd 0xff89b4fa
col.inactive_border=rgb(45475a)
}
group {
groupbar {
col.active=rgb(89b4fa)
col.inactive=rgb(45475a)
text_color=rgb(cdd6f4)
}
col.border_active=rgb(89b4fa)
col.border_inactive=rgb(45475a)
col.border_locked_active=rgb(94e2d5)
}
misc {
background_color=rgb(1e1e2e)
}
@@ -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 @@
workspace_layouts = dwindle, master, scrolling, monocle
@@ -0,0 +1,2 @@
# Default portable monitor rule
monitor=DP-1,3840x1080@144,1920x0,1
@@ -1,25 +1,34 @@
#!/usr/bin/env bash
# layout-selector.sh
# Cycles through layouts using Wofi for selection, commits on key choice
# Select a workspace layout using Wofi, shows description, applies with layoutmsg
# Hyprland workspace info
CURRENT_WS=$(hyprctl activeworkspace -j | jq -r '.id')
CURRENT_LAYOUT=$(hyprctl workspaces -j | jq -r ".[] | select(.id==$CURRENT_WS) | .layout")
# Define layouts and descriptions
declare -A LAYOUTS=(
[dwindle]="舘 Dwindle: Auto-tiling, windows shrink progressively"
[master]=" Master: One main window, others stacked"
[scrolling]=" Scrolling: Vertical list, scroll through windows"
[monocle]=" Monocle: One window fills the screen"
[floating]=" Floating: Free move & resize"
)
ORDER=(dwindle master scrolling monocle floating)
# Define your layouts (change as you like)
LAYOUTS=("master-stack" "monocle" "bsp" "grid" "floating")
# Prepare Wofi menu: show "layoutname: description"
MENU_ITEMS=()
for key in "${ORDER[@]}"; do
MENU_ITEMS+=("$key: ${LAYOUTS[$key]}")
done
# Show selection menu via Wofi
CHOICE=$(printf '%s\n' "${LAYOUTS[@]}" | wofi --dmenu --prompt "Select Layout")
CHOICE=$(printf '%s\n' "${MENU_ITEMS[@]}" | wofi --dmenu --prompt "Select Layout")
# If user cancelled
# Exit if cancelled
[ -z "$CHOICE" ] && exit 0
# Skip if already current layout
[ "$CHOICE" == "$CURRENT_LAYOUT" ] && exit 0
# Extract layout name from selection (before colon)
LAYOUT_NAME="${CHOICE%%:*}"
# Apply the layout
hyprctl dispatch workspace "$CURRENT_WS" layout "$CHOICE"
# Apply layout via layoutmsg
hyprctl dispatch layoutmsg setlayout "$LAYOUT_NAME"
# Show OSD feedback
hyprctl dispatch oSD "Layout: $CHOICE" 2000
hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000
@@ -0,0 +1,40 @@
# Hyprland Catppuccin Mocha Theme (solid colors)
# Colors
$base = #1e1e2e
$mantle = #181825
$surface0 = #313244
$surface1 = #45475a
$surface2 = #585b70
$text = #cdd6f4
$rosewater = #f5e0dc
$lavender = #b4befe
$red = #f38ba8
$peach = #fab387
$yellow = #f9e2af
$green = #a6e3a1
$teal = #94e2d5
$blue = #89b4fa
$mauve = #cba6f7
$flamingo = #f2cdcd
$inactive = #595959aa
# General theming
general {
gaps_in = 2
gaps_out = 4
border_size = 4
layout = scrolling
resize_on_border = true
extend_border_grab_area = 20
# Solid-color borders
col.active_border = rgb(FFFF00)
#col.active_border = #a6e3a1
#col.inactive_border = #595959aa
}
# Window decorations
decoration {
rounding = 8
}
@@ -0,0 +1,14 @@
# 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)$
# Make Wofi windows blurred
windowrulev2 = floatclass:Wofi,blur:15
windowrulev2 = floatclass:Wofi,floating:true
@@ -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,41 @@
[global]
allow_images = true
allow_markup = true
show_drun = true:apps,false:others
show_run = true
show_files = false
show_windowed = false
show_dmenu = false
show_ssh = false
show_power = false
prompt=Layout
hide_scroll=true
no_actions=true
width = 800
height = 600
# Center on the active monitor
location=center
anchor=center
lines = 10
columns = 1
sort_order = last-used
sort_method = fuzzy
allow_scrolling = true
scroll_wrap = true
scroll_step = 10
cycle = true
hide_scroll = false
hide_search = false
show_labels = true
label_search = true
label_run = Run
label_files = Files
label_windowed = Windows
label_drun = Applications
label_dmenu = Commands
label_ssh = SSH
label_power = Power
prompt = >
@@ -0,0 +1,80 @@
/* Catppuccin Mocha theme for Wofi with transparency and rounded corners */
@define-color base rgba(30, 30, 46, 0.9); /* Added transparency */
@define-color surface0 rgba(49, 50, 68, 0.95); /* Added transparency */
@define-color surface1 #45475A;
@define-color surface2 #585B70;
@define-color text #CDD6F4;
@define-color lavender #B4BEFE;
@define-color blue #89B4FA;
@define-color sapphire #74C7EC;
@define-color teal #94E2D5;
@define-color green #A6E3A1;
@define-color yellow #F9E2AF;
@define-color peach #FAB387;
@define-color maroon #EBA0AC;
@define-color red #F38BA8;
@define-color mauve #CBA6F7;
@define-color pink #F5C2E7;
@define-color flamingo #F2CDCD;
@define-color rosewater #F5E0DC;
* {
background-color: transparent;
color: @text;
font-family: "JetBrainsMono Nerd Font", monospace;
font-size: 12pt;
}
#main {
background-color: @base;
border: 1px solid @surface0;
border-radius: 10px; /* Rounded corners */
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
#input {
background-color: @surface0;
color: @text;
border: 1px solid @surface1;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin-bottom: 10px;
}
#entry {
background-color: rgba(
200,
200,
200,
0.2
); /* very light grey, very transparent */
color: @text;
border-radius: 10px;
padding: 5px 10px;
margin: 2px 0;
}
#entry:focus {
background-color: @surface1;
color: @lavender;
border-radius: 10px; /* Rounded corners */
}
#entry:selected {
background-color: @surface2;
color: @text;
border-radius: 10px; /* Rounded corners */
}
#scrollbar {
background-color: @surface0;
border-radius: 10px; /* Rounded corners */
width: 8px;
}
#scrollbar.handle {
background-color: @blue;
border-radius: 10px; /* Rounded corners */
}
@@ -25,8 +25,7 @@ bind = ALT, TAB, cyclenext,
# bind = ALT SHIFT, TAB, cyclenext prev
# switch layouts
# $MOD+A opens layout selector
bind = $MOD+A, exec, ~/.config/hypr/scripts/layout-selector.sh
# Hyprscrolling
bind = $mainMod, period, layoutmsg, move +col
@@ -36,7 +35,7 @@ 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
bind = $mainMod, T, exec, ~/.config/hypr/scripts/layout-selector.sh
# Focus movement
bind = $mainMod, H, movefocus, l
@@ -0,0 +1 @@
workspace_layouts = dwindle, master, scrolling, monocle
@@ -1,25 +1,34 @@
#!/usr/bin/env bash
# layout-selector.sh
# Cycles through layouts using Wofi for selection, commits on key choice
# Select a workspace layout using Wofi, shows description, applies with layoutmsg
# Hyprland workspace info
CURRENT_WS=$(hyprctl activeworkspace -j | jq -r '.id')
CURRENT_LAYOUT=$(hyprctl workspaces -j | jq -r ".[] | select(.id==$CURRENT_WS) | .layout")
# Define layouts and descriptions
declare -A LAYOUTS=(
[dwindle]="舘 Dwindle: Auto-tiling, windows shrink progressively"
[master]=" Master: One main window, others stacked"
[scrolling]=" Scrolling: Vertical list, scroll through windows"
[monocle]=" Monocle: One window fills the screen"
[floating]=" Floating: Free move & resize"
)
ORDER=(dwindle master scrolling monocle floating)
# Define your layouts (change as you like)
LAYOUTS=("master-stack" "monocle" "bsp" "grid" "floating")
# Prepare Wofi menu: show "layoutname: description"
MENU_ITEMS=()
for key in "${ORDER[@]}"; do
MENU_ITEMS+=("$key: ${LAYOUTS[$key]}")
done
# Show selection menu via Wofi
CHOICE=$(printf '%s\n' "${LAYOUTS[@]}" | wofi --dmenu --prompt "Select Layout")
CHOICE=$(printf '%s\n' "${MENU_ITEMS[@]}" | wofi --dmenu --prompt "Select Layout")
# If user cancelled
# Exit if cancelled
[ -z "$CHOICE" ] && exit 0
# Skip if already current layout
[ "$CHOICE" == "$CURRENT_LAYOUT" ] && exit 0
# Extract layout name from selection (before colon)
LAYOUT_NAME="${CHOICE%%:*}"
# Apply the layout
hyprctl dispatch workspace "$CURRENT_WS" layout "$CHOICE"
# Apply layout via layoutmsg
hyprctl dispatch layoutmsg setlayout "$LAYOUT_NAME"
# Show OSD feedback
hyprctl dispatch oSD "Layout: $CHOICE" 2000
hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000