diff --git a/config/modules/hyprland/doloro-settings.nix b/config/modules/hyprland/doloro-settings.nix index 8185348..d985018 100644 --- a/config/modules/hyprland/doloro-settings.nix +++ b/config/modules/hyprland/doloro-settings.nix @@ -1,143 +1,144 @@ -{ modules, ... }: -{ +{modules, ...}: { modules.hyprland = { provides = { doloro-settings = { includes = [ modules.dunst ]; - homeManager = - { pkgs, home, ... }: - { - home.packages = [ - pkgs.hyprcursor - pkgs.wlogout - pkgs.tofi - pkgs.killall - pkgs.grim - pkgs.slurp - pkgs.wayclip + homeManager = { + pkgs, + home, + ... + }: { + home.packages = [ + pkgs.hyprcursor + pkgs.wlogout + pkgs.tofi + pkgs.killall + pkgs.grim + pkgs.slurp + pkgs.wayclip + ]; + home.pointerCursor = { + enable = true; + name = "rose-pine-hyprcursor"; + package = pkgs.rose-pine-hyprcursor; + hyprcursor.enable = true; + }; + wayland.windowManager.hyprland.settings = { + env = [ + "XCURSOR_THEME,BreezeX-RosePine-Linux" + "XCURSOR_SIZE,24" + "HYPRCURSOR_SIZE,24" + "__GLX_VENDOR_LIBRARY_NAME,nvidia" + "WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom ]; - home.pointerCursor = { - enable = true; - name = "rose-pine-hyprcursor"; - package = pkgs.rose-pine-hyprcursor; - hyprcursor.enable = true; + general = { + gaps_in = 1; + gaps_out = 1; + border_size = 1; + # "col.active_border" = + # "rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})"; + # "col.inactive_border" = + # "rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})"; + resize_on_border = false; + allow_tearing = true; + layout = "dwindle"; }; - wayland.windowManager.hyprland.settings = { - env = [ - "XCURSOR_THEME,BreezeX-RosePine-Linux" - "XCURSOR_SIZE,24" - "HYPRCURSOR_SIZE,24" - "__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" = - # "rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})"; - # "col.inactive_border" = - # "rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})"; - resize_on_border = false; - allow_tearing = true; - layout = "dwindle"; - }; - decoration = { - rounding = 4; - rounding_power = 1; - active_opacity = 1.0; - inactive_opacity = 1.0; + decoration = { + rounding = 4; + rounding_power = 1; + active_opacity = 1.0; + inactive_opacity = 1.0; - shadow = { - enabled = false; - }; + shadow = { + enabled = false; + }; - blur = { - enabled = true; - passes = 1; - new_optimizations = true; - ignore_opacity = false; - }; - }; - cursor = { - no_hardware_cursors = true; - }; - animations = { + blur = { 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, easeOutQuint, popin 87%" - "windowsOut, 1, 1, linear, popin 87%" - "windowsMove, 1, 1, easeInOutCubic" - "fadeIn, 1, 0.5, almostLinear" - "fadeOut, 1, 0.5, almostLinear" - "fade, 1, 1, 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, almostLinear, slide" - "workspacesIn, 1, 1, easeInOutCubic, slide" - "workspacesOut, 1, 1, easeInOutCubic, slide" - "zoomFactor, 1, 7, quick" - ]; + passes = 1; + new_optimizations = true; + ignore_opacity = false; }; - dwindle = { - pseudotile = true; - preserve_split = true; - }; - # master = { - # new_status = master; - # }; - misc = { - force_default_wallpaper = -1; - disable_hyprland_logo = false; - enable_anr_dialog = false; - vfr = true; - }; - "$mainMod" = "SUPER"; - bind = [ + }; + cursor = { + no_hardware_cursors = true; + }; + 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, easeOutQuint, popin 87%" + "windowsOut, 1, 1, linear, popin 87%" + "windowsMove, 1, 1, easeInOutCubic" + "fadeIn, 1, 0.5, almostLinear" + "fadeOut, 1, 0.5, almostLinear" + "fade, 1, 1, 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, almostLinear, slide" + "workspacesIn, 1, 1, easeInOutCubic, slide" + "workspacesOut, 1, 1, easeInOutCubic, slide" + "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; + # vfr = true; + }; + "$mainMod" = "SUPER"; + bind = + [ ( let config = pkgs.writeTextFile { name = "config"; text = '' - width = 100% - height = 100% - border-width = 0 - outline-width = 0 - padding-left = 35% - padding-top = 35% - result-spacing = 25 - num-results = 5 - font = monospace - background-color = #000A - ''; + width = 100% + height = 100% + border-width = 0 + outline-width = 0 + padding-left = 35% + padding-top = 35% + result-spacing = 25 + num-results = 5 + font = monospace + background-color = #000A + ''; }; script = pkgs.writeShellScript "mreow" '' - exec $(tofi-drun -c ${config}) - ''; - in - "$mainMod, R, exec, ${script}" + exec $(tofi-drun -c ${config}) + ''; + in "$mainMod, R, exec, ${script}" ) "$mainMod, C, killactive" "$mainMod, M, exec, uwsm stop" "$mainMod, Q, exec, kitty" "$mainMod, V, togglefloating," - "$mainMod, P, pseudo, # dwindle" - "$mainMod, J, togglesplit, # dwindle" + # "$mainMod, P, pseudo, # dwindle" + # "$mainMod, J, togglesplit, # dwindle" "$mainMod, left, movefocus, l" "$mainMod, right, movefocus, r" "$mainMod, up, movefocus, u" @@ -146,10 +147,10 @@ ( let script = pkgs.writeShellScript "meow" '' - fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze' - ''; + fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze' + ''; in - "$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'" + "$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'" ) "$mainMod, F, fullscreen" "$mainMod, mouse_down, workspace, e+1" @@ -162,40 +163,39 @@ ] ++ (builtins.concatLists ( builtins.genList ( - i: - let + i: let ws = i + 1; - in - [ + in [ "$mainMod, ${toString ws}, workspace, ${toString ws}" "$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}" ] - ) 9 + ) + 9 )); - bindm = [ - "$mainMod, mouse:272, movewindow" - "$mainMod, mouse:273, resizewindow" - ]; - windowrule = [ - "match:class .*, suppress_event maximize" - "match:class ^(gamescope)$, workspace 5" - "match:class ^(gamescope)$, immediate true" - "match:class ^(steam)$, workspace 6 silent" - "match:class ^(vesktop)$, workspace 8 silent" - "match:class ^(org.telegram.desktop)$, workspace 8 silent" - "match:class ^(com.obsproject.Studio)$, workspace 10 silent" - "match:initial_title ^(OBS Studio Crash Detected)$, pin true" - "match:initial_title ^(Discord Popout)$, workspace 1 silent" - ]; - layerrule = [ - "match:namespace ^(notifications)$, no_screen_share true" - # "match:namespace ^(quickshell)$, blur true" - ]; - # exec-once = [ - # ]; - # we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs - }; + bindm = [ + "$mainMod, mouse:272, movewindow" + "$mainMod, mouse:273, resizewindow" + ]; + windowrule = [ + "match:class .*, suppress_event maximize" + "match:class ^(gamescope)$, workspace 5" + "match:class ^(gamescope)$, immediate true" + "match:class ^(steam)$, workspace 6 silent" + "match:class ^(vesktop)$, workspace 8 silent" + "match:class ^(org.telegram.desktop)$, workspace 8 silent" + "match:class ^(com.obsproject.Studio)$, workspace 10 silent" + "match:initial_title ^(OBS Studio Crash Detected)$, pin true" + "match:initial_title ^(Discord Popout)$, workspace 1 silent" + ]; + layerrule = [ + "match:namespace ^(notifications)$, no_screen_share true" + # "match:namespace ^(quickshell)$, blur true" + ]; + # exec-once = [ + # ]; + # we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs }; + }; }; }; };