{ pkgs, ... }: { programs.wofi.enable = true; # hypr packages home.packages = with pkgs; [ hypridle hyprlock wofi ]; # some env vars for improvement home.sessionVariables = { NIXOS_OZONE_WL = "1"; WLR_NO_HARDWARE_CURSORS = "1"; }; # hyprland config wayland.windowManager.hyprland = { enable = true; settings = { exec-once = [ "waybar" ]; monitor = [ "HDMI-A-2, 1920x1080@60, 0x0, 1" "eDP-1, 1920x1080@60, 0x1080, 1" ]; input = { kb_layout = "us,cz"; kb_variant = ",qwerty"; kb_options = "grp:alt_shift_toggle"; touchpad = { natural_scroll = true; }; }; windowrule = [ "float,title:\"nmtui-popup\"" "center,title:\"nmtui-popup\"" ]; general = { gaps_in = 5; gaps_out = 10; border_size = 2; layout = "master"; }; master = { mfact = 0.5; }; decoration = { rounding = 8; blur = { size = 3; passes = 2; }; }; misc = { disable_hyprland_logo = true; disable_splash_rendering = true; }; "$mod" = "SUPER"; "$term" = "${pkgs.kitty}/bin/kitty"; "$menu" = "${pkgs.wofi}/bin/wofi --show run"; "$lock" = "${pkgs.hyprlock}/bin/hyprlock -n"; /* bind = [ "$mod SHIFT, RETURN, exec, $term" "$mod SHIFT, C, killactive" "$mod SHIFT, Q, exit" "$mod, P, exec, $menu" "$mod, L, exec, $lock" "$mod, H, movefocus, l" "$mod, J, movefocus, r" "$mod, K, movefocus, u" "$mod, L, movefocus, d" "$mod, 1, workspace, 1" "$mod, 2, workspace, 2" "$mod, 3, workspace, 3" "$mod, 4, workspace, 4" "$mod SHIFT, 1, movetoworkspace, 1" "$mod SHIFT, 2, movetoworkspace, 2" "$mod SHIFT, 3, movetoworkspace, 3" "$mod SHIFT, 4, movetoworkspace, 4" { key = "XF86MonBrightnessUp"; mods = ""; command = "light -A 10"; } { key = "XF86MonBrightnessDown"; mods = ""; command = "light -U 10"; } { key = "XF86AudioRaiseVolume"; mods = ""; command = "wpctl set-volume @DEFAULT_SINK@ 5%+"; } { key = "XF86AudioLowerVolume"; mods = ""; command = "wpctl set-volume @DEFAULT_SINK@ 5%-"; } { key = "XF86AudioMute"; mods = ""; command = "wpctl set-mute @DEFAULT_SINK@ toggle"; } ]; */ bind = [ # standard $mod keybindings { key = "RETURN"; mods = "$mod SHIFT"; command = "$term"; } { key = "C"; mods = "$mod SHIFT"; command = "killactive"; } { key = "Q"; mods = "$mod SHIFT"; command = "exit"; } { key = "P"; mods = "$mod"; command = "$menu"; } { key = "L"; mods = "$mod"; command = "$lock"; } { key = "H"; mods = "$mod"; command = "movefocus,l"; } { key = "J"; mods = "$mod"; command = "movefocus,r"; } { key = "K"; mods = "$mod"; command = "movefocus,u"; } { key = "L"; mods = "$mod"; command = "movefocus,d"; } # workspace switching { key = "1"; mods = "$mod"; command = "workspace,1"; } { key = "2"; mods = "$mod"; command = "workspace,2"; } { key = "3"; mods = "$mod"; command = "workspace,3"; } { key = "4"; mods = "$mod"; command = "workspace,4"; } { key = "1"; mods = "$mod SHIFT"; command = "movetoworkspace,1"; } { key = "2"; mods = "$mod SHIFT"; command = "movetoworkspace,2"; } { key = "3"; mods = "$mod SHIFT"; command = "movetoworkspace,3"; } { key = "4"; mods = "$mod SHIFT"; command = "movetoworkspace,4"; } # brightness keys { key = "XF86MonBrightnessUp"; mods = ""; command = "light -A 10"; } { key = "XF86MonBrightnessDown"; mods = ""; command = "light -U 10"; } # volume keys (PipeWire) { key = "XF86AudioRaiseVolume"; mods = ""; command = "wpctl set-volume @DEFAULT_SINK@ 5%+"; } { key = "XF86AudioLowerVolume"; mods = ""; command = "wpctl set-volume @DEFAULT_SINK@ 5%-"; } { key = "XF86AudioMute"; mods = ""; command = "wpctl set-mute @DEFAULT_SINK@ toggle"; } ]; }; }; }