diff --git a/flake.lock b/flake.lock index 70d4585..ccb63cd 100644 --- a/flake.lock +++ b/flake.lock @@ -340,11 +340,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1775687254, - "narHash": "sha256-7qI4HrcNp3k43mwFLwecMXzLs8HwLGyqs+uJDjKmVH8=", + "lastModified": 1775688550, + "narHash": "sha256-HHgYDeJl6G8HCSruMxAGGPpR+NqobZibcJ8VuV+2Qw0=", "owner": "JackMechem", "repo": "rust-app-menu", - "rev": "d8ab0f945cb2315ec95b6649ac6b041e84f5bc97", + "rev": "f780a0e32f3c2bdee4051cd3f91d95387bf41e99", "type": "github" }, "original": { diff --git a/modules/home-manager/hyprland-desktop.nix b/modules/home-manager/hyprland-desktop.nix index 72d06d0..38a278d 100644 --- a/modules/home-manager/hyprland-desktop.nix +++ b/modules/home-manager/hyprland-desktop.nix @@ -46,7 +46,7 @@ # --- Variables --- "$terminal" = "ghostty"; "$fileManager" = "thunar"; - "$menu" = "rust-app-menu -s"; + "$menu" = "rust-app-menu -ds"; env = [ "XCURSOR_SIZE,24" @@ -82,6 +82,11 @@ "match:class ^(zoom)$, suppress_event maximize" ]; + layerrule = [ + "blur on, match:namespace Launcher" + "ignore_alpha 0.3, match:namespace Launcher" + ]; + # --- Decoration --- decoration = { rounding = 12; @@ -121,7 +126,7 @@ misc = { force_default_wallpaper = 0; }; - + # --- Keybinds --- bind = [ # System/Rice diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 30c87ea..d134baf 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -1,229 +1,234 @@ { pkgs, ... }: { - wayland.windowManager.hyprland = { - enable = true; + wayland.windowManager.hyprland = { + enable = true; - settings = - let - monitor1 = "eDP-1"; - mainMod = "SUPER"; - in - { - # --- Monitor Configuration --- - monitor = [ - "${monitor1},1920x1080@60,0x0,1,bitdepth,10" - ]; + settings = + let + monitor1 = "eDP-1"; + mainMod = "SUPER"; + in + { + # --- Monitor Configuration --- + monitor = [ + "${monitor1},1920x1080@60,0x0,1,bitdepth,10" + ]; - # --- Workspaces --- - workspace = [ - "1,monitor:${monitor1}" - "2,monitor:${monitor1}" - "3,monitor:${monitor1}" - "4,monitor:${monitor1}" - "5,monitor:${monitor1}" - "6,monitor:${monitor1}" - "7,monitor:${monitor1}" - "8,monitor:${monitor1}" - "9,monitor:${monitor1}" - "10,monitor:${monitor1}" - ]; + # --- Workspaces --- + workspace = [ + "1,monitor:${monitor1}" + "2,monitor:${monitor1}" + "3,monitor:${monitor1}" + "4,monitor:${monitor1}" + "5,monitor:${monitor1}" + "6,monitor:${monitor1}" + "7,monitor:${monitor1}" + "8,monitor:${monitor1}" + "9,monitor:${monitor1}" + "10,monitor:${monitor1}" + ]; - # --- Exec Once --- - exec-once = [ - "waypaper --restore" - "gtkbar" - "rust-app-menu" - "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - "solaar -w hide" - ]; + # --- Exec Once --- + exec-once = [ + "waypaper --restore" + "gtkbar" + "rust-app-menu -d" + "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + "solaar -w hide" + ]; - # --- Variables --- - "$terminal" = "ghostty"; - "$fileManager" = "thunar"; - "$menu" = "rust-app-menu"; + # --- Variables --- + "$terminal" = "ghostty"; + "$fileManager" = "thunar"; + "$menu" = "rust-app-menu -ds"; - env = [ - "XCURSOR_SIZE,24" - "QT_QPA_PLATFORMTHEME,qt5ct" - ]; + env = [ + "XCURSOR_SIZE,24" + "QT_QPA_PLATFORMTHEME,qt5ct" + ]; - # --- Input --- - input = { - kb_layout = "us"; - kb_options = "caps:escape"; - follow_mouse = 1; - mouse_refocus = true; - touchpad = { - natural_scroll = "no"; - }; - accel_profile = "flat"; - sensitivity = 1; - }; + # --- Input --- + input = { + kb_layout = "us"; + kb_options = "caps:escape"; + follow_mouse = 1; + mouse_refocus = true; + touchpad = { + natural_scroll = "no"; + }; + accel_profile = "flat"; + sensitivity = 1; + }; - device = { - name = "synaptics-tm3276-022"; - enabled = false; - }; + device = { + name = "synaptics-tm3276-022"; + enabled = false; + }; - # --- General --- - general = { - gaps_in = 3; - gaps_out = "10,10,10,10"; - border_size = 2; - "col.active_border" = "rgba(e4687690)"; - "col.inactive_border" = "rgba(2c2b3180)"; - layout = "dwindle"; - allow_tearing = false; - }; + # --- General --- + general = { + gaps_in = 3; + gaps_out = "10,10,10,10"; + border_size = 2; + "col.active_border" = "rgba(e4687690)"; + "col.inactive_border" = "rgba(2c2b3180)"; + layout = "dwindle"; + allow_tearing = false; + }; - # --- Fix Zoom --- - windowrule = [ - "match:class ^(zoom)$, no_follow_mouse 1" - "match:class ^(zoom)$, suppress_event maximize" - ]; + # --- Fix Zoom --- + windowrule = [ + "match:class ^(zoom)$, no_follow_mouse 1" + "match:class ^(zoom)$, suppress_event maximize" + ]; - # --- Decoration --- - decoration = { - rounding = 12; - blur = { - enabled = true; - new_optimizations = true; - size = 8; - passes = 2; - }; - shadow = { - enabled = true; - range = 20; - render_power = 5; - color = "rgba(00000040)"; - }; - }; + layerrule = [ + "blur on, match:namespace Launcher" + "ignore_alpha 0.3, match:namespace Launcher" + ]; - # --- Animations --- - animations = { - enabled = false; - bezier = "myBezier, 0.05, 0.9, 0.1, 1"; - animation = [ - "windows, 1, 3, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" - ]; - }; + # --- Decoration --- + decoration = { + rounding = 12; + blur = { + enabled = true; + new_optimizations = true; + size = 8; + passes = 2; + }; + shadow = { + enabled = true; + range = 20; + render_power = 5; + color = "rgba(00000040)"; + }; + }; - dwindle = { - pseudotile = "yes"; - preserve_split = "yes"; - }; + # --- Animations --- + animations = { + enabled = false; + bezier = "myBezier, 0.05, 0.9, 0.1, 1"; + animation = [ + "windows, 1, 3, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 6, default" + ]; + }; - misc = { - force_default_wallpaper = 0; - }; + dwindle = { + pseudotile = "yes"; + preserve_split = "yes"; + }; - # --- Keybinds --- - bind = [ - # System/Rice - "${mainMod}, grave, exec, rice-settings" - "${mainMod}, RETURN, exec, $terminal" - "${mainMod} SHIFT, RETURN, exec, [float] $terminal" - "${mainMod}, Q, killactive" - "${mainMod} SHIFT, M, exit" - "${mainMod}, E, exec, $fileManager" - "${mainMod} SHIFT, E, exec, [float] $fileManager" - "${mainMod}, W, exec, zen-browser" - "${mainMod}, TAB, togglefloating" - "${mainMod}, SPACE, exec, $menu" - "${mainMod}, P, pseudo" - "${mainMod}, V, togglesplit" - "${mainMod}, M, fullscreen, 1" - "${mainMod}, F, fullscreen, 0" - "${mainMod}, Escape, focuscurrentorlast" - "${mainMod} SHIFT, P, exec, killall ags || exec ags" - "${mainMod} SHIFT, S, exec, grimshot savecopy area" - "${mainMod}, HOME, exec, wofi-emoji" + misc = { + force_default_wallpaper = 0; + }; - # Focus - "${mainMod}, h, movefocus, l" - "${mainMod}, l, movefocus, r" - "${mainMod}, k, movefocus, u" - "${mainMod}, j, movefocus, d" + # --- Keybinds --- + bind = [ + # System/Rice + "${mainMod}, grave, exec, rice-settings" + "${mainMod}, RETURN, exec, $terminal" + "${mainMod} SHIFT, RETURN, exec, [float] $terminal" + "${mainMod}, Q, killactive" + "${mainMod} SHIFT, M, exit" + "${mainMod}, E, exec, $fileManager" + "${mainMod} SHIFT, E, exec, [float] $fileManager" + "${mainMod}, W, exec, zen-browser" + "${mainMod}, TAB, togglefloating" + "${mainMod}, SPACE, exec, $menu" + "${mainMod}, P, pseudo" + "${mainMod}, V, togglesplit" + "${mainMod}, M, fullscreen, 1" + "${mainMod}, F, fullscreen, 0" + "${mainMod}, Escape, focuscurrentorlast" + "${mainMod} SHIFT, P, exec, killall ags || exec ags" + "${mainMod} SHIFT, S, exec, grimshot savecopy area" + "${mainMod}, HOME, exec, wofi-emoji" - # Move - "${mainMod} SHIFT, h, movewindow, l" - "${mainMod} SHIFT, l, movewindow, r" - "${mainMod} SHIFT, k, movewindow, u" - "${mainMod} SHIFT, j, movewindow, d" + # Focus + "${mainMod}, h, movefocus, l" + "${mainMod}, l, movefocus, r" + "${mainMod}, k, movefocus, u" + "${mainMod}, j, movefocus, d" - # Resize - "${mainMod} ALT, h, resizeactive, -160 0" - "${mainMod} ALT, l, resizeactive, 160 0" - "${mainMod} ALT, k, resizeactive, 0 -160" - "${mainMod} ALT, j, resizeactive, 0 160" + # Move + "${mainMod} SHIFT, h, movewindow, l" + "${mainMod} SHIFT, l, movewindow, r" + "${mainMod} SHIFT, k, movewindow, u" + "${mainMod} SHIFT, j, movewindow, d" - # Workspaces - "${mainMod}, 1, workspace, 1" - "${mainMod}, 2, workspace, 2" - "${mainMod}, 3, workspace, 3" - "${mainMod}, 4, workspace, 4" - "${mainMod}, 5, workspace, 5" - "${mainMod}, 6, workspace, 6" - "${mainMod}, 7, workspace, 7" - "${mainMod}, 8, workspace, 8" - "${mainMod}, 9, workspace, 9" - "${mainMod}, 0, workspace, 10" - "${mainMod} ALT, 1, workspace, 11" - "${mainMod} ALT, 2, workspace, 12" + # Resize + "${mainMod} ALT, h, resizeactive, -160 0" + "${mainMod} ALT, l, resizeactive, 160 0" + "${mainMod} ALT, k, resizeactive, 0 -160" + "${mainMod} ALT, j, resizeactive, 0 160" - # Move to Workspace - "${mainMod} SHIFT, 1, movetoworkspace, 1" - "${mainMod} SHIFT, 2, movetoworkspace, 2" - "${mainMod} SHIFT, 3, movetoworkspace, 3" - "${mainMod} SHIFT, 4, movetoworkspace, 4" - "${mainMod} SHIFT, 5, movetoworkspace, 5" - "${mainMod} SHIFT, 6, movetoworkspace, 6" - "${mainMod} SHIFT, 7, movetoworkspace, 7" - "${mainMod} SHIFT, 8, movetoworkspace, 8" - "${mainMod} SHIFT, 9, movetoworkspace, 9" - "${mainMod} SHIFT, 0, movetoworkspace, 10" - "${mainMod} ALT SHIFT, 1, movetoworkspace, 11" - "${mainMod} ALT SHIFT, 2, movetoworkspace, 12" + # Workspaces + "${mainMod}, 1, workspace, 1" + "${mainMod}, 2, workspace, 2" + "${mainMod}, 3, workspace, 3" + "${mainMod}, 4, workspace, 4" + "${mainMod}, 5, workspace, 5" + "${mainMod}, 6, workspace, 6" + "${mainMod}, 7, workspace, 7" + "${mainMod}, 8, workspace, 8" + "${mainMod}, 9, workspace, 9" + "${mainMod}, 0, workspace, 10" + "${mainMod} ALT, 1, workspace, 11" + "${mainMod} ALT, 2, workspace, 12" - # Special - "${mainMod}, O, togglespecialworkspace, magic" - "${mainMod} SHIFT, O, movetoworkspace, special:magic" + # Move to Workspace + "${mainMod} SHIFT, 1, movetoworkspace, 1" + "${mainMod} SHIFT, 2, movetoworkspace, 2" + "${mainMod} SHIFT, 3, movetoworkspace, 3" + "${mainMod} SHIFT, 4, movetoworkspace, 4" + "${mainMod} SHIFT, 5, movetoworkspace, 5" + "${mainMod} SHIFT, 6, movetoworkspace, 6" + "${mainMod} SHIFT, 7, movetoworkspace, 7" + "${mainMod} SHIFT, 8, movetoworkspace, 8" + "${mainMod} SHIFT, 9, movetoworkspace, 9" + "${mainMod} SHIFT, 0, movetoworkspace, 10" + "${mainMod} ALT SHIFT, 1, movetoworkspace, 11" + "${mainMod} ALT SHIFT, 2, movetoworkspace, 12" - # Multimedia - ", XF86AudioPrev, exec, playerctl previous" - ", XF86AudioPlay, exec, playerctl play-pause" - ", XF86AudioPause, exec, playerctl pause" - ", XF86AudioNext, exec, playerctl next" + # Special + "${mainMod}, O, togglespecialworkspace, magic" + "${mainMod} SHIFT, O, movetoworkspace, special:magic" - # Custom scripts - "${mainMod}, b, exec, bash -c 'pgrep gtkbar &>/dev/null && killall gtkbar || gtkbar &'" - ]; + # Multimedia + ", XF86AudioPrev, exec, playerctl previous" + ", XF86AudioPlay, exec, playerctl play-pause" + ", XF86AudioPause, exec, playerctl pause" + ", XF86AudioNext, exec, playerctl next" - bindle = [ - ", XF86AudioRaiseVolume, exec, pamixer -i 2" - ", XF86AudioLowerVolume, exec, pamixer -d 2" - ]; + # Custom scripts + "${mainMod}, b, exec, bash -c 'pgrep gtkbar &>/dev/null && killall gtkbar || gtkbar &'" + ]; - bindl = [ - ", XF86AudioMute, exec, pamixer -t" - ", XF86AudioMicMute, exec, pamixer --default-source -t" - ]; + bindle = [ + ", XF86AudioRaiseVolume, exec, pamixer -i 2" + ", XF86AudioLowerVolume, exec, pamixer -d 2" + ]; - bindm = [ - "${mainMod}, mouse:272, movewindow" - "${mainMod}, mouse:273, resizewindow" - ]; + bindl = [ + ", XF86AudioMute, exec, pamixer -t" + ", XF86AudioMicMute, exec, pamixer --default-source -t" + ]; - # Mouse scroll workspaces - bindn = [ - "${mainMod}, mouse_down, workspace, e+1" - "${mainMod}, mouse_up, workspace, e-1" - ]; - }; - }; + bindm = [ + "${mainMod}, mouse:272, movewindow" + "${mainMod}, mouse:273, resizewindow" + ]; + + # Mouse scroll workspaces + bindn = [ + "${mainMod}, mouse_down, workspace, e+1" + "${mainMod}, mouse_up, workspace, e-1" + ]; + }; + }; }