Files
nixos-config/modules/users/psljr/hyprland.nix
2025-10-27 09:14:51 -05:00

149 lines
4.3 KiB
Nix

# ./modules/users/psljr/hyprland.nix
# Configure hyprland for user psljr
{ config, pkgs, ... }:
{
home-manager.users.psljr = { pkgs, ... }: {
# Configure hyprland
wayland.windowManager.hyprland = {
enable = true;
settings = {
# Define variables
"$mod" = "SUPER";
"$primary_100" = "rgba(FF9955EE)";
"$primary_200" = "rgba(EF7679EE)";
"$primary_300" = "rgba(C26793EE)";
"$primary_400" = "rgba(846294EE)";
"$primary_500" = "rgba(4C587DEE)";
"$primary_600" = "rgba(2F4858EE)";
# Define auto-run applications
exec-once=[
"dunst" # Notification daemon
"hypridle" # Idle daemon
"hyprpaper" # Wallpaper
"waybar" # Status bar
];
# Monitor setup
monitor = [
"eDP-1, preferred, auto, 1"
"DVI-I-1, preferred, auto-left, 1"
];
# Keybinds
bind = [
"$mod, R, exec, rofi -show drun"
"$mod SHIFT, R, exec, rofi -show run"
"$mod, T, exec, kitty"
"$mod, F, exec, nautilus"
"$mod, C, killactive,"
"$mod, M, exec, rofi -show menu -modi \"menu:rofi-power-menu --choices=shutdown/reboot/logout\""
"$mod, L, exec, hyprlock"
", PRINT, exec, hyprshot -m window"
"$mod, PRINT, exec, hyprshot -m output"
"$mod SHIFT, PRINT, exec, hyprshot -m region"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$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, 10, 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, 10, movetoworkspace, 10"
"$mod, H, layoutmsg, preselect r"
"$mod, V, layoutmsg, preselect d"
"$mod SHIFT, right, resizeactive, 100 0"
"$mod SHIFT, left, resizeactive, -100 0"
];
# Mouse binds
bindm = [
"$mod, mouse:272, movewindow"
];
# Multimedia binds
bindel = [
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-"
", XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+"
", XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-"
];
# Set window rules
windowrule = [
"suppressevent maximize, class:*"
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
];
input = {
kb_layout = "us";
follow_mouse = 1;
};
general = {
gaps_in = 4;
gaps_out = 8;
border_size = 2;
"col.active_border" = "$primary_100 $primary_300 45deg";
"col.inactive_border" = "$primary_500";
layout = "dwindle";
};
decoration = {
rounding = 5;
rounding_power = 2;
blur = {
enabled = true;
size = 4;
passes = 1;
};
dim_inactive = true;
dim_strength = 0.25;
shadow = {
enabled = true;
range = 4;
render_power = 2;
color = "rgba(1a1a1aee)";
};
};
animations.enabled = true;
dwindle = {
pseudotile = "yes";
preserve_split = "yes";
};
};
};
};
}