{config, ...}: { wayland.windowManager.hyprland = { importantPrefixes = [ "bezier" "enabled" "output" ]; settings = { # Monitors monitorv2 = map (monitor: { output = if monitor.desc == "" then monitor.port else "desc:${monitor.desc}"; mode = if monitor.size.enabled then "${toString monitor.size.x}x${toString monitor.size.y}" else "preferred"; position = if monitor.position.enabled then "${toString monitor.position.x}x${toString monitor.position.y}" else "auto"; scale = toString monitor.scale; bitdepth = toString monitor.bitdepth; }) config.monitors; # Autostart exec-once = config.autoRun; # General general = { gaps_in = config.theme.innerGap; gaps_out = config.theme.outerGap; layout = "hy3"; resize_on_border = "yes"; extend_border_grab_area = 20; border_size = config.theme.borderWidth; "col.active_border" = "rgb(${config.theme.colors.primary})"; "col.inactive_border" = "rgb(${config.theme.colors.surface})"; }; # Gestures gesture = [ "3, horizontal, workspace" ]; # Decoration decoration = { rounding = config.theme.outerRadius; shadow.enabled = false; blur = { enabled = config.theme.blur; size = 4; passes = 2; noise = 0.008; contrast = 0.8916; brightness = 0.8; }; }; animations = { enabled = true; bezier = [ "default, 0.12, 0.92, 0.08, 1.0" "wind, 0.12, 0.92, 0.08, 1.0" "overshot, 0.18, 0.95, 0.22, 1.03" "linear, 1, 1, 1, 1" ]; animation = [ "windows, 1, 5, wind, popin 60%" "windowsIn, 1, 6, overshot, popin 60%" "windowsOut, 1, 4, overshot, popin 60%" "windowsMove, 1, 4, overshot, slide" "layers, 1, 4, default, popin" "fadeIn, 1, 7, default" "fadeOut, 1, 7, default" "fadeSwitch, 1, 7, default" "fadeShadow, 1, 7, default" "fadeDim, 1, 7, default" "fadeLayers, 1, 7, default" "workspaces, 1, 5, overshot, slide" "border, 1, 1, linear" "borderangle, 1, 24, linear, loop" ]; }; # Input input = { kb_layout = "us"; kb_variant = ""; kb_model = ""; kb_options = "gtp:alt_shift_toggle, compose:ralt"; kb_rules = ""; follow_mouse = 1; touchpad = { natural_scroll = "yes"; }; sensitivity = 0; }; # Window rules windowrulev2 = [ "float,workspace 1,forclass wofi" "noborder,forclass wofi" ]; # Layer rules layerrule = [ # fix weird borders "blur true, match:namespace wofi" "ignore_alpha 0, match:namespace wofi" "blur true, match:namespace notificaations" "ignore_alpha 0, match:namespace notifications" "blur true, match:namespace swaync-notificaation-window" "ignore_alpha 0, match:namespace swaync-notification-window" "blur true, match:namespace swaync-control-center" "ignore_alpha 0, match:namespace swaync-control-center" # dont animate slurp "no_anim true, match:namespace selection" ]; # XWayland xwayland = { force_zero_scaling = "true"; use_nearest_neighbor = "false"; }; # Misc misc = { disable_hyprland_logo = true; disable_splash_rendering = true; key_press_enables_dpms = true; mouse_move_enables_dpms = true; enable_anr_dialog = false; vrr = 1; }; # Ecosystem ecosystem = { no_update_news = true; no_donation_nag = true; }; }; # end settings }; # end hyprland }