{ inputs, pkgs, ... }: { wayland.windowManager.hyprland.settings = { monitor = [ "HDMI-A-1, 1920x1080@60, 0x0, 1" "DP-3, 1920x1080@144, 1920x0, 1" ]; exec-once = [ "hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor ]; env = [ "XCURSOR_SIZE,24" "HYPRCURSOR_SIZE,24" "LIBVA_DRIVER_NAME,nvidia" "__GLX_VENDOR_LIBRARY_NAME,nvidia" "WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom ]; general = { gaps_in = 1; gaps_out = 1; border_size = 1; # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg # col.inactive_border = rgba(595959aa) resize_on_border = false; allow_tearing = true; layout = "dwindle"; }; decoration = { rounding = 0; rounding_power = 1; active_opacity = 1.0; inactive_opacity = 1.0; shadow = { enabled = false; }; blur = { enabled = false; }; }; animations = { enabled = true; bezier = [ "easeOutQuint,0.23,1,0.32,1" "easeInOutCubic,0.65,0.05,0.36,1" "linear,0,0,1,1" "almostLinear,0.5,0.5,0.75,1.0" "quick,0.15,0,0.1,1" ]; animation = [ "global, 1, 10, default" "border, 1, 5.39, easeOutQuint" "windows, 1, 2.79, easeOutQuint" "windowsIn, 1, 1.1, easeOutQuint, popin 87%" "windowsOut, 1, 1.49, linear, popin 87%" "fadeIn, 1, 1.73, almostLinear" "fadeOut, 1, 1.46, almostLinear" "fade, 1, 2.03, quick" "layers, 1, 3.81, easeOutQuint" "layersIn, 1, 4, easeOutQuint, fade" "layersOut, 1, 1.5, linear, fade" "fadeLayersIn, 1, 1.79, almostLinear" "fadeLayersOut, 1, 1.39, almostLinear" "workspaces, 1, 1.94, almostLinear, fade" "workspacesIn, 1, 1.21, almostLinear, fade" "workspacesOut, 1, 1.94, almostLinear, fade" "zoomFactor, 1, 7, quick" ]; }; dwindle = { pseudotile = true; preserve_split = true; }; # master = { # new_status = master; # }; misc = { force_default_wallpaper = -1; disable_hyprland_logo = false; enable_anr_dialog = false; }; input = { kb_layout = "gb"; follow_mouse = 2; sensitivity = -0.5; }; "$mainMod" = "SUPER"; bind = [ "$mainMod, Q, exec, foot" "$mainMod, C, killactive" "$mainMod, M, exit" "$mainMod, E, exec, $fileManager" "$mainMod, V, togglefloating," "$mainMod, R, exec, wofi --show drun" "$mainMod, P, pseudo, # dwindle" "$mainMod, J, togglesplit, # dwindle" "$mainMod, left, movefocus, l" "$mainMod, right, movefocus, r" "$mainMod, up, movefocus, u" "$mainMod, down, movefocus, d" "$mainMod, S, exec, $screenShot" "$mainMod, F, fullscreen" "$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_up, workspace, e-1" ", home, exec, $toggleSpeaker" ", end, exec, $toggleMic" ", F8, sendshortcut, , F8, class:^(com\.obsproject\.Studio)$" "$mainMod, 0, workspace, 10" "$mainMod SHIFT, 0, movetoworkspace, 10" ] ++ ( builtins.concatLists ( builtins.genList(i: let ws = i + 1; in [ "$mainMod, ${toString ws}, workspace, ${toString ws}" "$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}" ] ) 9 ) ); bindm = [ "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; workspace = [ "name:2, monitor:DP-3" ]; windowrule = [ "suppressevent maximize, class:.*" "workspace 5 silent, class:^(gamescope)$" "immediate, class:^(gamescope)$" "workspace 6 silent, class:^(steam)$" "workspace 8 silent, class:^(vesktop)$" "workspace 8 silent, class:^(org.telegram.desktop)$" "workspace 10 silent, class:^(com\.obsproject\.Studio)$" ]; windowrulev2 = [ "noinitialfocus, class:.*" ]; # exec-once = [ # ]; # we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs }; }