2024-04-07 22:16:33 -04:00
|
|
|
{
|
|
|
|
config,
|
2024-07-07 01:36:41 -04:00
|
|
|
lib,
|
|
|
|
pkgs,
|
2024-04-07 22:16:33 -04:00
|
|
|
...
|
2024-07-09 23:40:10 -04:00
|
|
|
}: let
|
|
|
|
cfg = config.ar.home;
|
|
|
|
in {
|
|
|
|
config = lib.mkIf cfg.desktop.hyprland.enable {
|
2024-07-19 12:01:43 -04:00
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
2024-07-19 13:40:36 -04:00
|
|
|
settings = import ./settings.nix {inherit config lib pkgs;};
|
2024-07-19 10:50:27 -04:00
|
|
|
|
2024-07-19 13:40:36 -04:00
|
|
|
extraConfig = let
|
|
|
|
moveMonitorBinds =
|
|
|
|
lib.attrsets.mapAttrsToList (
|
|
|
|
key: direction: "bind=CONTROL,${key},movecurrentworkspacetomonitor,${direction}"
|
|
|
|
)
|
|
|
|
cfg.desktop.hyprland.windowManagerBinds;
|
|
|
|
|
|
|
|
moveWindowBinds =
|
|
|
|
lib.attrsets.mapAttrsToList (
|
|
|
|
key: direction: "bind=,${key},movewindow,${direction}"
|
|
|
|
)
|
|
|
|
cfg.desktop.hyprland.windowManagerBinds;
|
|
|
|
|
|
|
|
moveWorkspaceBinds = builtins.map (x: "bind=,${toString x},workspace,${toString x}") [1 2 3 4 5 6 7 8 9];
|
|
|
|
in ''
|
2024-07-15 00:14:18 -04:00
|
|
|
submap=resize
|
|
|
|
binde=,down,resizeactive,0 10
|
|
|
|
binde=,left,resizeactive,-10 0
|
|
|
|
binde=,right,resizeactive,10 0
|
|
|
|
binde=,up,resizeactive,0 -10
|
|
|
|
binde=,j,resizeactive,0 10
|
|
|
|
binde=,h,resizeactive,-10 0
|
|
|
|
binde=,l,resizeactive,10 0
|
|
|
|
binde=,k,resizeactive,0 -10
|
|
|
|
bind=,escape,submap,reset
|
|
|
|
submap=reset
|
|
|
|
|
|
|
|
submap=move
|
2024-07-19 13:40:36 -04:00
|
|
|
${lib.strings.concatLines moveMonitorBinds}
|
|
|
|
${lib.strings.concatLines moveWindowBinds}
|
|
|
|
${lib.strings.concatLines moveWorkspaceBinds}
|
|
|
|
bind=,comma,exec,${lib.getExe pkgs.hyprnome} --previous --move
|
|
|
|
bind=,period,exec,${lib.getExe pkgs.hyprnome} --move
|
2024-07-15 00:14:18 -04:00
|
|
|
bind=,escape,submap,reset
|
|
|
|
submap=reset
|
2024-07-07 01:36:41 -04:00
|
|
|
'';
|
|
|
|
};
|
2024-07-09 23:40:10 -04:00
|
|
|
};
|
2024-03-28 22:12:08 -04:00
|
|
|
}
|