125 lines
3.3 KiB
Nix

{pkgs, ...}: {
wayland.windowManager.hyprland = let
locker = "${pkgs.swaylock}/bin/swaylock";
set-dpms = "${pkgs.hyprland}/bin/hyprctl dispatcher dpms";
locked-dpms = pkgs.writeShellScript "locked-dpms.sh" ''
${pkgs.swayidle}/bin/swayidle -w \
timeout 10 'if pgrep -x swaylock; then ${set-dpms} off; fi' \
resume '${set-dpms} on'
'';
idle-script = pkgs.writeShellScript "idle-lock.sh" ''
${pkgs.swayidle}/bin/swayidle -w \
timeout 300 '${locker} -f' \
timeout 330 '${set-dpms} off' \
resume '${set-dpms} on'
'';
in {
enable = true;
settings = {
"$mod" = "SUPER";
monitor = [
"eDP-1,2256x1504,0x0,1.566667"
"desc:LG Electronics LG ULTRAWIDE 0x000219F2,2560x1080,1440x0,1"
"desc:Fujitsu Siemens Computers GmbH B22W-6 LED YV3U164923,1680x1050,4000x0,1"
",preferred,auto,1"
];
exec-once = [
"${pkgs.waybar}/bin/waybar"
"${pkgs.mako}/bin/mako"
idle-script
locked-dpms
];
input = {
kb_layout = "us,de";
follow_mouse = 1;
};
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 1;
layout = "dwindle";
allow_tearing = false;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
};
decoration = {
rounding = 5;
shadow = {
enabled = true;
range = 4;
render_power = 3;
color = "rgba(1a1a1aee)";
};
blur = {
enabled = true;
size = 3;
passes = 1;
};
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 3, myBezier"
"windowsOut, 1, 3, default, popin 80%"
"border, 1, 3, default"
"borderangle, 1, 3, default"
"fade, 1, 3, default"
"workspaces, 1, 3, default"
];
};
bind =
[
", PRINT, exec, ${pkgs.hyprshot}/bin/hyprshot -m region --clipboard-only"
"$mod, return, exec, ${pkgs.alacritty}/bin/alacritty"
"$mod, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun"
"$mod SHIFT, Q, killactive, "
"$mod, L, exec, ${locker}"
"$mod, V, togglefloating, "
"$mod, F, fullscreen, 1"
"$mod, P, pseudo, # dwindle"
"$mod, J, togglesplit, # dwindle"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod, S, togglespecialworkspace, magic"
"$mod SHIFT, S, movetoworkspace, special:magic"
]
++ builtins.concatLists (builtins.genList (
x: let
num = builtins.toString (x + 1);
in [
"$mod, ${num}, workspace, ${num}"
"$mod SHIFT, ${num}, movetoworkspace, ${num}"
]
)
9);
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
device = {
name = "razer-razer-blackwidow-chroma";
kb_layout = "de";
};
misc = {
mouse_move_enables_dpms = true;
key_press_enables_dpms = true;
};
};
};
}