summaryrefslogtreecommitdiffstats
path: root/hyprland/binds.nix
blob: c1684152aae805f7ff43172cb407418e22f338f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{
  lib,
  config,
  pkgs,
  ...
}: let
  # workspaces
  workspaces = builtins.concatLists (
    builtins.genList (
      i: let
        ws = i + 1;
      in [
        "$mod, code:1${toString i}, workspace, ${toString ws}"
        "$mod SHIFT, code:1${toString i}, movetoWorkspace, ${toString ws}"
      ]
    )
    10
  );
in {
  wayland.windowManager.hyprland.settings = {
    "$mod" = "SUPER";

    bindm = [
      "$mod, mouse:272, movewindow"
      "$mod, mouse:273, resizewindow"
    ];
    bind =
      [
        # compositor commands
        "$mod SHIFT, E, exec, pkill Hyprland"
        "$mod, W, killactive,"
        "$mod, Q, killactive,"
        "$mod, F, fullscreen,"
        #"$mod, G, togglegroup,"
        "$mod SHIFT, N, changegroupactive, f"
        "$mod SHIFT, P, changegroupactive, b"
        "$mod, R, togglesplit,"
        "$mod, T, togglefloating,"
        "$mod, P, pseudo,"
        "$mod ALT, ,resizeactive,"

        "$mod, left, movefocus, l"
        "$mod, right, movefocus, r"
        "$mod, up, movefocus, u"
        "$mod, down, movefocus, d"
        "$mod, h, movefocus, l"
        "$mod, l, movefocus, r"
        "$mod, k, movefocus, u"
        "$mod, j, movefocus, d"

        "$mod SHIFT, left, movewindow, l"
        "$mod SHIFT, right, movewindow, r"
        "$mod SHIFT, up, movewindow, u"
        "$mod SHIFT, down, movewindow, d"
        "$mod SHIFT, h, movewindow, l"
        "$mod SHIFT, l, movewindow, r"
        "$mod SHIFT, k, movewindow, u"
        "$mod SHIFT, j, movewindow, d"

        "$mod, D, exec, uwsm app -- ghostty"
        "$mod, b, exec, librewolf"
        "$mod, space, exec, pkill rofi || rofi -show drun"
        "$mod, p, exec, pkill hyprpicker || hyprpicker -ar"
        "$mod SHIFT, s, exec, pkill slurp || grim -g \"$(slurp)\" - | wl-copy"
        ", PRINT, exec, grim - | wl-copy"
        "SHIFT, PRINT, exec, pkill slurp swappy || grim -g \"$(slurp)\" - | swappy -f -"
        ", XF86Explorer, exec, hyprlock"
        ", F1, exec, hyprlock"
        ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
        ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
        ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
        ", XF86AudioNext, exec, playerctl next && notify-send 'Next Song'"
        ", XF86AudioPrev, exec, playerctl previous && notify-send 'Previous Song'"
        ", XF86AudioPlay, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
        ", XF86AudioStop, exec, playerctl stop && notify-send 'Music Stopped'"
        ", F11, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
        ", F10, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
        ", F9, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
        ", F6, exec, playerctl next && notify-send 'Next Song'"
        ", F5, exec, playerctl previous && notify-send 'Previous Song'"
        ", F7, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
        ", F8, exec, playerctl stop && notify-send 'Music Stopped'"

        ", F4, workspace, 3"
        ", XF86Tools, workspace, 3"
      ]
      ++ workspaces;
  };
}