Files
NixOS-configs/modules/hypr/default.nix
2026-03-03 13:07:30 -06:00

179 lines
4.6 KiB
Nix

{ pkgs, inputs, lib, ... }:
{
services.hyprpolkitagent.enable = true;
programs.hyprshot.enable = true;
programs.hyprlock.enable = true;
wayland.windowManager.hyprland = {
enable = true;
package = null;
portalPackage = null;
settings = {
# Variables
"$terminal" = "kitty -e nu";
"$fileManager" = "kitty -e yazi";
"$menu" = "noctalia-shell ipc call launcher toggle";
"$bar" = "noctalia-shell";
"$mainMod" = "SUPER";
# Monitors
monitor = [
"HDMI-A-1, 3840x2160@120, 0x0, auto, bitdepth, 10"
"eDP-1, 2560x1600@60, 0x0, 1.6"
"DP-1, highres@highrr, 0x0, 1"
];
# Startup applications
exec-once = [
"noctalia-shell"
"hyprlock"
"hyprctl dispatch workspace 1"
"pw-metadata -n settings 0 clock.force-quantum 2048"
"systemctl --user start hyprpolkitagent"
"sunshine"
""
];
# Debug settings
debug.full_cm_proto = true;
# Environment variables
env = [
"XCURSOR_SIZE,24"
"QT_QPA_PLATFORMTHEME,qt6ct"
];
input = {
kb_layout = "us";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
accel_profile = "flat";
follow_mouse = 1;
touchpad = {
natural_scroll = true;
tap-to-click = false;
drag_3fg = true;
clickfinger_behavior = true;
tap-and-drag = false;
};
sensitivity = 0;
};
render.cm_fs_passthrough = false;
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 2;
layout = "dwindle";
allow_tearing = false;
};
decoration = {
rounding = 5;
blur = {
enabled = true;
size = 5;
passes = 3;
new_optimizations = true;
ignore_opacity = true;
xray = false;
};
shadow = {
enabled = true;
offset = "3, 3";
};
};
animations = {
enabled = true;
bezier = [
"myBezier, 0.05, 0.9, 0.1, 1.05"
];
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
gestures = [
"3, horizontal, workspace"
];
misc = {
force_default_wallpaper = 0;
enable_anr_dialog = 0;
vrr = 1;
};
bind = [
"$mainMod, Return, exec, $terminal"
"$mainMod, Q, killactive"
"$mainMod, M, exec, noctalia-shell ipc call lockScreen lock"
"$mainMod, E, exec, $fileManager"
"$mainMod, V, togglefloating"
"$mainMod, Space, exec, $menu"
"$mainMod, B, exec, zen"
"$mainMod, P, pseudo"
"$mainMod, J, togglesplit"
"$mainMod, F, fullscreen"
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
"$mainMod, S, togglespecialworkspace, magic"
"$mainMod SHIFT, S, movetoworkspace, special:magic"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
", code:76, exec, killall -SIGUSR1 gpu-screen-recorder"
", code:75, exec, killall -SIGINT gpu-screen-recorder"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
};
};
}