Files
nixos-flake/hyprland.nix
T
2026-01-11 20:35:40 +01:00

164 lines
4.3 KiB
Nix

{ pkgs, ... }:
{
programs.wofi.enable = true;
# hypr packages
home.packages = with pkgs; [
hypridle
hyprlock
wofi
];
# some env vars for improvement
home.sessionVariables = {
NIXOS_OZONE_WL = "1";
WLR_NO_HARDWARE_CURSORS = "1";
};
# hyprland config
wayland.windowManager.hyprland = {
enable = true;
settings = {
exec-once = [
"waybar"
];
monitor = [
"HDMI-A-2, 1920x1080@60, 0x0, 1"
"eDP-1, 1920x1080@60, 0x1080, 1"
];
input = {
kb_layout = "us,cz";
kb_variant = ",qwerty";
kb_options = "grp:alt_shift_toggle";
touchpad = {
natural_scroll = true;
};
};
windowrule = [
"float,title:\"nmtui-popup\""
"center,title:\"nmtui-popup\""
];
general = {
gaps_in = 5;
gaps_out = 10;
border_size = 2;
layout = "master";
};
master = {
mfact = 0.5;
};
decoration = {
rounding = 8;
blur = {
size = 3;
passes = 2;
};
};
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
"$mod" = "SUPER";
"$term" = "${pkgs.kitty}/bin/kitty";
"$menu" = "${pkgs.wofi}/bin/wofi --show run";
"$lock" = "${pkgs.hyprlock}/bin/hyprlock -n";
/*
bind = [
"$mod SHIFT, RETURN, exec, $term"
"$mod SHIFT, C, killactive"
"$mod SHIFT, Q, exit"
"$mod, P, exec, $menu"
"$mod, L, exec, $lock"
"$mod, H, movefocus, l"
"$mod, J, movefocus, r"
"$mod, K, movefocus, u"
"$mod, L, movefocus, d"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
{
key = "XF86MonBrightnessUp";
mods = "";
command = "light -A 10";
}
{
key = "XF86MonBrightnessDown";
mods = "";
command = "light -U 10";
}
{
key = "XF86AudioRaiseVolume";
mods = "";
command = "wpctl set-volume @DEFAULT_SINK@ 5%+";
}
{
key = "XF86AudioLowerVolume";
mods = "";
command = "wpctl set-volume @DEFAULT_SINK@ 5%-";
}
{
key = "XF86AudioMute";
mods = "";
command = "wpctl set-mute @DEFAULT_SINK@ toggle";
}
];
};
};*/
bind = [
# standard $mod keybindings
{ key = "RETURN"; mods = "$mod SHIFT"; command = "$term"; }
{ key = "C"; mods = "$mod SHIFT"; command = "killactive"; }
{ key = "Q"; mods = "$mod SHIFT"; command = "exit"; }
{ key = "P"; mods = "$mod"; command = "$menu"; }
{ key = "L"; mods = "$mod"; command = "$lock"; }
{ key = "H"; mods = "$mod"; command = "movefocus,l"; }
{ key = "J"; mods = "$mod"; command = "movefocus,r"; }
{ key = "K"; mods = "$mod"; command = "movefocus,u"; }
{ key = "L"; mods = "$mod"; command = "movefocus,d"; }
# workspace switching
{ key = "1"; mods = "$mod"; command = "workspace,1"; }
{ key = "2"; mods = "$mod"; command = "workspace,2"; }
{ key = "3"; mods = "$mod"; command = "workspace,3"; }
{ key = "4"; mods = "$mod"; command = "workspace,4"; }
{ key = "1"; mods = "$mod SHIFT"; command = "movetoworkspace,1"; }
{ key = "2"; mods = "$mod SHIFT"; command = "movetoworkspace,2"; }
{ key = "3"; mods = "$mod SHIFT"; command = "movetoworkspace,3"; }
{ key = "4"; mods = "$mod SHIFT"; command = "movetoworkspace,4"; }
# brightness keys
{ key = "XF86MonBrightnessUp"; mods = ""; command = "light -A 10"; }
{ key = "XF86MonBrightnessDown"; mods = ""; command = "light -U 10"; }
# volume keys (PipeWire)
{ key = "XF86AudioRaiseVolume"; mods = ""; command = "wpctl set-volume @DEFAULT_SINK@ 5%+"; }
{ key = "XF86AudioLowerVolume"; mods = ""; command = "wpctl set-volume @DEFAULT_SINK@ 5%-"; }
{ key = "XF86AudioMute"; mods = ""; command = "wpctl set-mute @DEFAULT_SINK@ toggle"; }
];
}