nix-config/home/toast/modules/hyprland.nix

186 lines
5.1 KiB
Nix

{ pkgs, ... }: {
home.packages = [
pkgs.playerctl
pkgs.hyprshot
pkgs.tofi
];
programs.mouse-actions.enable = true;
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
systemd.enable = false;
settings = {
exec-once = [ "waybar" "uwsm app -- keepassxc" "uwsm app -- firefox" ];
"$terminal" = "uwsm app -- kitty";
"$fileManager" = "uwsm app -- thunar";
"$menu" = "uwsm app -- $(tofi-drun)";
"$mod" = "SUPER";
env = [
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"QT_QPA_PLATFORM,wayland"
"GTK_IM_MODULE,kime"
"QT_IM_MODULE,kime"
"XMODIFIERS,@im=kime"
];
bind = [
"$mod, Q, exec, $terminal"
"$mod, C, killactive"
"$mod, M, exit"
"$mod, E, exec, $fileManager"
"$mod, R, exec, $menu"
"$mod, Y, togglesplit"
"$mod, F, fullscreen"
"$mod, H, movefocus, l"
"$mod, J, movefocus, d"
"$mod, K, movefocus, u"
"$mod, L, movefocus, r"
"$mod SHIFT, H, movewindow, l"
"$mod SHIFT, J, movewindow, d"
"$mod SHIFT, K, movewindow, u"
"$mod SHIFT, L, movewindow, r"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, 0, movetoworkspace, 10"
"$mod SHIFT, S, exec, env HYPRSHOT_DIR=/data/Backup/Screenshots hyprshot -m region"
"$mod SHIFT, E, exec, powermenu"
"$mod, mouse:277, exec, cycle-mouse-action"
", mouse:277, exec, run-mouse-action"
];
bindel = [
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @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"
];
bindl = [
", XF86AudioNext, exec, playerctl next"
", XF86AudioPause, exec, playerctl play-pause"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioPrev, exec, playerctl previous"
", XF86Tools, exec, playerctl play-pause"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
general = {
gaps_in = 5;
gaps_out = 20;
border_size = 2;
"col.active_border" = "rgba(ffffffaa)";
"col.inactive_border" = "rgba(595959aa)";
resize_on_border = false;
allow_tearing = false;
layout = "dwindle";
};
decoration = {
rounding = 10;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 4;
render_power = 3;
color = "rgba(1a1a1aee)";
};
};
animations = {
enabled = true;
first_launch_animation = false;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global,1,10,default"
"border,1,5.39,easeOutQuint"
"windows,1,4.79,easeOutQuint"
"windowsIn,1,4.1,easeOutQuint,popin 87%"
"windowsOut,1,1.49,linear,popin 87%"
"fadeIn,1,1.73,almostLinear"
"fadeOut,1,1.46,almostLinear"
"fade,1,3.03,quick"
"layers,1,3.81,easeOutQuint"
"layersIn,1,4,easeOutQuint,fade"
"layersOut,1,1.5,linear,fade"
"fadeLayersIn,1,1.79,almostLinear"
"fadeLayersOut,1,1.39,almostLinear"
"workspaces,1,1.94,almostLinear,fade"
"workspacesIn,1,1.21,almostLinear,fade"
"workspacesOut,1,1.94,almostLinear,fade"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
};
input = {
kb_layout = "us,kr";
kb_options = "grp:alt_shift_toggle";
sensitivity = -0.6;
};
windowrule = [
"suppressevent maximize, class:.*"
"nofocus,class:^%,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
];
};
};
home.pointerCursor = {
package = pkgs.rose-pine-cursor;
name = "BreezeX-RosePine-Linux";
size = 24;
gtk.enable = true;
x11.enable = true;
};
}