From bb6458650aa39b0465cf24fae1894bfc74a59446 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 18 Aug 2025 18:52:22 -0400 Subject: add hyprland binds --- hyprland/binds.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ hyprland/hyprland.nix | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 hyprland/binds.nix create mode 100644 hyprland/hyprland.nix (limited to 'hyprland') diff --git a/hyprland/binds.nix b/hyprland/binds.nix new file mode 100644 index 0000000..fc089b6 --- /dev/null +++ b/hyprland/binds.nix @@ -0,0 +1,48 @@ +{ config, pkgs, ... }: + +{ + +imports = [ + ./binds.nix +]; + wayland.windowManager.hyprland = { + "$mod" = "SUPER"; + + bind = [ + "$mod, f, exec, ghostty" + "$mod, d, exec, brave" + "$mod, space, exec, pkill rofi || rofi -show drun" + ", 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'" + ", F10, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'" + ", F11, 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'" + ] + ++ ( + # 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}" + ] + ) 9 + ) + ); + }; + }; + +} diff --git a/hyprland/hyprland.nix b/hyprland/hyprland.nix new file mode 100644 index 0000000..f44a62a --- /dev/null +++ b/hyprland/hyprland.nix @@ -0,0 +1,51 @@ +{ config, pkgs, ... }: + +{ + +imports = [ + ./binds.nix +]; + wayland.windowManager.hyprland = { + enable = true; + settings = { + monitor = [ + "DP-3,2560x1440@180.00,0x0,1" + "DP-2,1920x1080@165.00,2560x360,1" + ]; + input = { + kb_layout = "us"; + kb_options = "caps:escape,altwin:swap_lalt_lwin"; + + numlock_by_default = true; + + }; + + workspace = [ + "1, monitor:DP-3" + "2, monitor:DP-3" + "3, monitor:DP-3" + "4, monitor:DP-3" + "5, monitor:DP-3" + "6, monitor:DP-2" + "7, monitor:DP-2" + "8, monitor:DP-2" + "9, monitor:DP-2" + "0, monitor:DP-2" + ]; + exec-once = [ + "xrandr --output DP-3 --primary" + "[workspace 1 silent] ghostty" + "[workspace 2 silent] ghostty -e rmpc" + "[workspace 3 silent] obsidian" + "[workspace 6 silent] brave" + "[workspace 7 silent] discord" + "[workspace 8 silent] steam" + ]; + windowrule = [ + "workspace 7 silent, class:(discord)" + "workspace 8 silent, class:(steam)" + ]; + }; + }; + +} -- cgit v1.3.1