diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index 01ad728..86b5c00 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -7,7 +7,7 @@ }: let inherit (lib) mapAttrsToList mkIf hasAttr; - inherit (lib.my) getExe; + inherit (lib.my) getExe getExe'; in mkIf osConfig.programs.hyprland.enable { home.sessionVariables.ELECTRON_OZONE_PLATFORM_HINT = "auto"; @@ -146,71 +146,78 @@ mkIf osConfig.programs.hyprland.enable { disable_hyprland_logo = false; focus_on_activate = false; # Open windows without focusing them new_window_takes_over_fullscreen = 2; # When a new window opens, the current fullscreen window returns to its tiled state + key_press_enables_dpms = true; + mouse_move_enables_dpms = true; + disable_autoreload = true; }; bindm = [ "$mod,mouse:272,movewindow" ]; - bind = [ - "$mod, D, exec, ${getExe osConfig.modules.system.roles.desktop.runner.package}" - "$mod, E, exec, ${getExe osConfig.modules.system.roles.desktop.filemanager}" - "$mod, Return, exec, ${getExe osConfig.modules.system.roles.desktop.terminal}" - "$mod SHIFT, Q, killactive," - "$mod, V, togglefloating" - "$mod SHIFT, P, exec, ${config.programs.rofi.package}/bin/rofi -show p -modi p:${pkgs.rofi-power-menu}/bin/rofi-power-menu" - "$mod, P, exec, ${getExe pkgs.cliphist} wipe & ${getExe pkgs.hyprlock}" - "$mod SHIFT, C, exec, hyprctl reload" - "$mod SHIFT, space, togglefloating" - "$mod, left, movefocus, l" - "$mod, right, movefocus, r" - "$mod, up, movefocus, u" - "$mod, down, movefocus, d" + bind = + let + copy = getExe' pkgs.wl-clipboard "wl-copy"; + in + [ + "$mod, D, exec, ${getExe osConfig.modules.system.roles.desktop.runner.package}" + "$mod, E, exec, ${getExe osConfig.modules.system.roles.desktop.filemanager}" + "$mod, Return, exec, ${getExe osConfig.modules.system.roles.desktop.terminal}" + "$mod SHIFT, Q, killactive," + "$mod, V, togglefloating" + "$mod SHIFT, P, exec, ${getExe pkgs.scripts.powerMenu}" + "$mod, P, exec, ${getExe pkgs.cliphist} wipe & ${getExe pkgs.hyprlock}" + "$mod SHIFT, C, exec, hyprctl reload" + "$mod SHIFT, space, togglefloating" + "$mod, left, movefocus, l" + "$mod, right, movefocus, r" + "$mod, up, movefocus, u" + "$mod, down, movefocus, d" - # Example special workspace (scratchpad) - "$mod, S, togglespecialworkspace, magic" - "$mod SHIFT, S, movetoworkspace, special:magic" - "$mod, X, fullscreen, 1" - "$mod, F, fullscreen, 0" - "$mod, N, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t" - "$mod, U, exec, ${pkgs.hyprshot}/bin/hyprshot -z -o $XDG_PICTURES_DIR/screenshots -m region" - "$mod SHIFT, U, exec, ${pkgs.hyprshot}/bin/hyprshot -z --raw -m region | ${pkgs.satty}/bin/satty -f - --fullscreen" + # Example special workspace (scratchpad) + "$mod, S, togglespecialworkspace, magic" + "$mod SHIFT, S, movetoworkspace, special:magic" + "$mod, X, fullscreen, 1" + "$mod, F, fullscreen, 0" + "$mod, N, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t" + "$mod, U, exec, ${pkgs.hyprshot}/bin/hyprshot -o ${config.xdg.userDirs.pictures}/screenshots -m region" + "$mod SHIFT, U, exec, ${pkgs.hyprshot}/bin/hyprshot --raw -m region | ${getExe pkgs.satty} -f - --fullscreen --copy-command ${copy}" - #: Brightness and Media {{{ - ",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl s +10%" - ",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl s 10%-" - ",XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 5" - ",XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 5" - ",XF86AudioMicMute, exec, ${pkgs.pamixer}/bin/pamixer --default-source -m" - ",XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer -t" - ",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause" - ",XF86AudioPause, exec, ${pkgs.playerctl}/bin/playerctl play-pause" - ",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next" - ",XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous" - #: }}} + #: Brightness and Media {{{ + ",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl s +10%" + ",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl s 10%-" + ",XF86AudioRaiseVolume, exec, ${getExe pkgs.pamixer} -u && ${pkgs.pamixer}/bin/pamixer -i 5" + ",XF86AudioLowerVolume, exec, ${getExe pkgs.pamixer} -u && ${pkgs.pamixer}/bin/pamixer -d 5" + ",XF86AudioMicMute, exec, ${pkgs.pamixer}/bin/pamixer --default-source -m" + ",XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer -t" + ",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause" + ",XF86AudioPause, exec, ${pkgs.playerctl}/bin/playerctl play-pause" + ",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next" + ",XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous" + #: }}} - # Workspaces - "$mod, code:10, workspace, 1" - "$mod, code:11, workspace, 2" - "$mod, code:12, workspace, 3" - "$mod, code:13, workspace, 4" - "$mod, code:14, workspace, 5" - "$mod, code:15, workspace, 6" - "$mod, code:16, workspace, 7" - "$mod, code:17, workspace, 8" - "$mod, code:18, workspace, 9" - "$mod, code:19, workspace, 10" + # Workspaces + "$mod, code:10, workspace, 1" + "$mod, code:11, workspace, 2" + "$mod, code:12, workspace, 3" + "$mod, code:13, workspace, 4" + "$mod, code:14, workspace, 5" + "$mod, code:15, workspace, 6" + "$mod, code:16, workspace, 7" + "$mod, code:17, workspace, 8" + "$mod, code:18, workspace, 9" + "$mod, code:19, workspace, 10" - # Send to Workspaces - "$mod SHIFT, code:10, movetoworkspace, 1" - "$mod SHIFT, code:11, movetoworkspace, 2" - "$mod SHIFT, code:12, movetoworkspace, 3" - "$mod SHIFT, code:13, movetoworkspace, 4" - "$mod SHIFT, code:14, movetoworkspace, 5" - "$mod SHIFT, code:15, movetoworkspace, 6" - "$mod SHIFT, code:16, movetoworkspace, 7" - "$mod SHIFT, code:17, movetoworkspace, 8" - "$mod SHIFT, code:18, movetoworkspace, 9" - "$mod SHIFT, code:19, movetoworkspace, 10" - ]; + # Send to Workspaces + "$mod SHIFT, code:10, movetoworkspace, 1" + "$mod SHIFT, code:11, movetoworkspace, 2" + "$mod SHIFT, code:12, movetoworkspace, 3" + "$mod SHIFT, code:13, movetoworkspace, 4" + "$mod SHIFT, code:14, movetoworkspace, 5" + "$mod SHIFT, code:15, movetoworkspace, 6" + "$mod SHIFT, code:16, movetoworkspace, 7" + "$mod SHIFT, code:17, movetoworkspace, 8" + "$mod SHIFT, code:18, movetoworkspace, 9" + "$mod SHIFT, code:19, movetoworkspace, 10" + ]; }; }; }