nix/home/modules/hyprland.nix
atagen 7485de646a current
linted
2025-02-02 17:07:42 +11:00

102 lines
2.6 KiB
Nix

{
pkgs,
lib,
inputs,
...
}:
let
inherit (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";
};
};
}