mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 15:43:55 -05:00
58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
cfg = config.ar.home;
|
|
in {
|
|
config = lib.mkIf cfg.desktop.hyprland.enable {
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
settings = import ./settings.nix {inherit config lib pkgs;};
|
|
|
|
systemd = {
|
|
enable = true;
|
|
variables = ["--all"];
|
|
};
|
|
|
|
extraConfig = let
|
|
moveMonitorBinds =
|
|
lib.attrsets.mapAttrsToList (
|
|
key: direction: "bind=CONTROL,${key},movecurrentworkspacetomonitor,${builtins.substring 0 1 direction}"
|
|
)
|
|
cfg.desktop.windowManagerBinds;
|
|
|
|
moveWindowBinds =
|
|
lib.attrsets.mapAttrsToList (
|
|
key: direction: "bind=,${key},movewindow,${builtins.substring 0 1 direction}"
|
|
)
|
|
cfg.desktop.windowManagerBinds;
|
|
|
|
moveWorkspaceBinds = builtins.map (x: "bind=,${toString x},workspace,${toString x}") [1 2 3 4 5 6 7 8 9];
|
|
in ''
|
|
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
|
|
${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
|
|
bind=,escape,submap,reset
|
|
submap=reset
|
|
'';
|
|
};
|
|
};
|
|
}
|