186 lines
4.9 KiB
Nix
186 lines
4.9 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
|
|
settings = {
|
|
# Monitor configuration
|
|
monitor = ",preferred,auto,1";
|
|
|
|
# Startup applications
|
|
exec-once = [
|
|
"waybar"
|
|
"swaync"
|
|
"swww init"
|
|
"nm-applet --indicator"
|
|
"blueman-applet"
|
|
];
|
|
|
|
# Environment variables
|
|
env = [
|
|
"XCURSOR_SIZE,24"
|
|
"QT_QPA_PLATFORMTHEME,qt5ct"
|
|
];
|
|
|
|
# Input configuration
|
|
input = {
|
|
kb_layout = "us";
|
|
follow_mouse = 1;
|
|
sensitivity = 0;
|
|
|
|
touchpad = {
|
|
natural_scroll = true;
|
|
};
|
|
};
|
|
|
|
# General settings - Nord inspired
|
|
general = {
|
|
gaps_in = 5;
|
|
gaps_out = 10;
|
|
border_size = 2;
|
|
layout = "dwindle";
|
|
};
|
|
|
|
# Decoration - clean minimal look
|
|
decoration = {
|
|
rounding = 8;
|
|
|
|
blur = {
|
|
enabled = true;
|
|
size = 6;
|
|
passes = 2;
|
|
};
|
|
|
|
drop_shadow = true;
|
|
shadow_range = 20;
|
|
shadow_render_power = 3;
|
|
};
|
|
|
|
# Animations - smooth like vyrx
|
|
animations = {
|
|
enabled = true;
|
|
|
|
bezier = [
|
|
"wind, 0.05, 0.9, 0.1, 1.05"
|
|
"winIn, 0.1, 1.1, 0.1, 1.1"
|
|
"winOut, 0.3, -0.3, 0, 1"
|
|
"liner, 1, 1, 1, 1"
|
|
];
|
|
|
|
animation = [
|
|
"windows, 1, 6, wind, slide"
|
|
"windowsIn, 1, 6, winIn, slide"
|
|
"windowsOut, 1, 5, winOut, slide"
|
|
"windowsMove, 1, 5, wind, slide"
|
|
"border, 1, 1, liner"
|
|
"borderangle, 1, 30, liner, loop"
|
|
"fade, 1, 10, default"
|
|
"workspaces, 1, 5, wind"
|
|
];
|
|
};
|
|
|
|
# Layout
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = true;
|
|
};
|
|
|
|
master = {
|
|
new_is_master = true;
|
|
};
|
|
|
|
# Gestures
|
|
gestures = {
|
|
workspace_swipe = true;
|
|
};
|
|
|
|
# Misc
|
|
misc = {
|
|
force_default_wallpaper = 0;
|
|
disable_hyprland_logo = true;
|
|
disable_splash_rendering = true;
|
|
};
|
|
|
|
# Window rules
|
|
windowrulev2 = [
|
|
"suppressevent maximize, class:.*"
|
|
"float, class:^(pavucontrol)$"
|
|
"float, class:^(blueman-manager)$"
|
|
"float, class:^(nm-connection-editor)$"
|
|
];
|
|
|
|
# Keybindings
|
|
"$mainMod" = "SUPER";
|
|
|
|
bind = [
|
|
# Program launches
|
|
"$mainMod, Return, exec, kitty"
|
|
"$mainMod, Q, killactive,"
|
|
"$mainMod, M, exit,"
|
|
"$mainMod, E, exec, thunar"
|
|
"$mainMod, V, togglefloating,"
|
|
"$mainMod, D, exec, rofi -show drun"
|
|
"$mainMod, P, pseudo,"
|
|
"$mainMod, J, togglesplit,"
|
|
"$mainMod, F, fullscreen,"
|
|
|
|
# Screenshot
|
|
"$mainMod SHIFT, S, exec, grim -g \"$(slurp)\" - | wl-copy"
|
|
", Print, exec, grim -g \"$(slurp)\" ~/Pictures/screenshot_$(date +%Y%m%d_%H%M%S).png"
|
|
|
|
# Move focus
|
|
"$mainMod, left, movefocus, l"
|
|
"$mainMod, right, movefocus, r"
|
|
"$mainMod, up, movefocus, u"
|
|
"$mainMod, down, movefocus, d"
|
|
|
|
# Switch workspaces
|
|
"$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"
|
|
|
|
# Move active window to workspace
|
|
"$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"
|
|
|
|
# Scroll through workspaces
|
|
"$mainMod, mouse_down, workspace, e+1"
|
|
"$mainMod, mouse_up, workspace, e-1"
|
|
];
|
|
|
|
# Mouse bindings
|
|
bindm = [
|
|
"$mainMod, mouse:272, movewindow"
|
|
"$mainMod, mouse:273, resizewindow"
|
|
];
|
|
|
|
# Volume and brightness keys
|
|
bindel = [
|
|
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
|
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
", XF86MonBrightnessUp, exec, brightnessctl s 10%+"
|
|
", XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
|
];
|
|
};
|
|
};
|
|
}
|