{ pkgs, lib, inputs, ... }: let rice = pkgs.rice; palette = pkgs.lib.nix-rice.palette.toRGBShortHex rice.palette; in { programs.hyprlock = { # enable = true; }; services.hypridle = { # enable = true; }; services.hyprpaper = { # enable = true; }; wayland.windowManager.hyprland = { enable = true; package = inputs.hyprland.packages.x86_64-linux.hyprland; systemd = { enable = true; variables = ["--all"]; }; settings = { "$mainMod" = "SUPER"; general = let inherit (rice.borders) thickness; inherit (palette) normal; in { inherit (rice.borders) gaps_in gaps_out; border_size = thickness; layout = "dwindle"; "col.inactive_border" = "rgb(${normal.black})"; "col.active_border" = "rgb(${normal.yellow})"; "col.nogroup_border" = "rgb(${normal.black})"; "col.nogroup_border_active" = "rgb(${normal.yellow})"; snap.enabled = true; }; cursor = { no_hardware_cursors = true; }; decoration = { inherit (rice.borders) rounding; blur.enabled = false; shadow.enabled = false; }; # input.numlock_by_default = true; # groups = let # inherit (palette) normal; # in { # "col.border_active" = "rgb(${normal.red})"; # "col.border_inactive" = "rgb(${normal.black})"; # "col.border_locked_active" = "rgb(${normal.red})"; # "col.border_locked_inactive" = "rgb(${normal.black})"; # }; misc = { disable_hyprland_logo = true; disable_splash_rendering = true; vrr = 0; mouse_move_enables_dpms = true; key_press_enables_dpms = true; layers_hog_keyboard_focus = true; background_color = "rgb(${palette.normal.black})"; }; dwindle = { pseudotile = true; force_split = 2; preserve_split = true; }; monitor = [ "DP-1, 2560x1440@165, 1080x0, 1" "HDMI-A-2, 1920x1080@60, auto-left, 1" "Unknown-1, disable" ]; bind = let makeDirBind = bind: extraMods: lib.mapAttrsToList (key: dir: "$mainMod${extraMods}, ${key}, ${bind}, ${dir}") { h = "l"; j = "d"; k = "u"; l = "r"; }; in [ "$mainMod, Return, exec, ${lib.getExe pkgs.kitty}" ] ++ makeDirBind "movefocus" "" ++ makeDirBind "movewindow" "+SHIFT"; }; }; }