nixos/gunther/hypr/hyprland.nix
2024-11-21 12:25:29 +01:00

179 lines
4.6 KiB
Nix
Executable file

{ pkgs, ... }:
{
# hyprland setup
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
settings = {
workspace = [
"1, monitor:HDMI-A-5, default:true, persistent:true"
"2, monitor:DP-3 , default:true, persistent:true"
"special:scratchpad, on-created-empty:foot"
];
monitor = [
"DP-3 , 2560x1440@144, 1920x0, 1"
"HDMI-A-5, 1920x1080@75 , 0x0 , 1"
];
input = {
kb_layout = "de";
kb_variant = "us";
follow_mouse = 1;
};
"$mod" = "SUPER";
"$modd" = "SUPER_SHIFT";
general = {
gaps_in = 8;
gaps_out = 15;
border_size = 3;
resize_on_border = true;
layout = "dwindle";
"col.active_border" = "rgba(cba6f7ff) rgba(89b4faff) rgba(94e2d5ff) 10deg";
"col.inactive_border" = "0xff45475a";
"col.nogroup_border" = "0xff89dceb";
"col.nogroup_border_active" = "0xfff9e2af";
};
decoration = {
blur = {
new_optimizations = true;
size = 1;
passes = 1;
};
shadow = {
enabled = true;
range = 100;
render_power = 5;
color = "0x33000000";
color_inactive = "0x22000000";
};
rounding = 15;
};
animations = {
enabled = 1;
bezier = "overshot,0.13,0.99,0.29,1.1";
animation = [
"windows,1,4,overshot,slide"
"border,1,10,default"
"fade,1,10,default"
"workspaces,1,6,overshot,slidevert"
];
};
misc = {
disable_hyprland_logo = true;
};
bind = [
# opening programs
"$mod, Return, exec, foot"
"$mod, D, exec, tofi-drun | xargs hyprctl dispatch exec --"
"$mod, M, exit, "
"$mod, Q, killactive, "
# moving around
"$mod, left , movefocus, l"
"$mod, right, movefocus, r"
"$mod, down , movefocus, d"
"$mod, up , movefocus, u"
# moving windows
"$modd, left , movewindow, l"
"$modd, right, movewindow, r"
"$modd, down , movewindow, d"
"$modd, up , movewindow, u"
# workspaces
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$modd, 1, movetoworkspacesilent, 1"
"$modd, 2, movetoworkspacesilent, 2"
"$modd, 3, movetoworkspacesilent, 3"
"$modd, 4, movetoworkspacesilent, 4"
"$modd, 5, movetoworkspacesilent, 5"
"$modd, 6, movetoworkspacesilent, 6"
# fullscreen
"$mod, F11, fullscreen, 0"
# "$mod, m, fullscreen, 1" # maximize
# floating
"$mod, F, togglefloating, active"
# screenshot
", Print, exec, grimblast copysave area $HOME\"/screenshots/\"$(date +'%F-%T.png');"
# scratchpad
"$mod, C, togglespecialworkspace, scratchpad"
];
bindm = [
"$mod, mouse:272, movewindow"
];
bindle = [
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-"
", XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0%"
];
exec-once = [
"bash ~/Git/nixos/gunther/hypr/start.sh"
];
};
};
# tell electron to use wayland
home.sessionVariables.NIXOS_OZONE_WL = "1";
# terminal
programs.foot = {
enable = true;
settings = {
main = {
font = "monospace:size=12";
dpi-aware = "yes";
};
colors = {
foreground = "cad3f5";
background = "24273a";
regular0 = "494d64";
regular1 = "ed8796";
regular3 = "eed49f";
regular4 = "8aadf4";
regular5 = "f5bde6";
regular6 = "8bd5ca";
regular7 = "b8c0e0";
bright0 = "5b6078";
bright1 = "ed8796";
bright3 = "eed49f";
bright4 = "8aadf4";
bright5 = "f5bde6";
bright6 = "8bd5ca";
bright7 = "a5adcb";
};
};
};
services.mako = {
enable = true;
extraConfig = ''
background-color=#24273a
text-color=#cad3f5
border-color=#8aadf4
progress-color=over #363a4f
sort=-time
layer=overlay
width=300
height=110
border-size=2
border-radius=15
max-icon-size=64
default-timeout=5000
ignore-timeout=1
[urgency=high]
border-color=#f5a97f
'';
};
}