nixos/absol/hypr/hyprland.nix
2024-11-06 14:03:40 +01:00

200 lines
5.2 KiB
Nix
Executable file

{ pkgs, ... }:
{
services.hypridle.enable = true;
services.hyprpaper.enable = true;
programs.hyprlock.enable = true;
# hyprland setup
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
settings = {
xwayland."force_zero_scaling" = true;
env = [
"HYPRCURSOR_THEME,Bibata-Original-Classic"
"HYPRCURSOR_SIZE,24"
#"XCURSOR_THEME,Catppuccin-Macchiato-Red"
"XCURSOR_SIZE,24"
"GDK_SCALE,2"
];
workspace = [
"1, monitor:eDP-1, default:true, persistent:true"
"special:scratchpad, on-created-empty:foot"
];
monitor = [
#"eDP-1, 2880x1800@120, 0x1080, 2"
#"HDMI-A-1, 1920x1080@75, 0x0, 1"
"eDP-1, 2880x1800@120, 0x1440, 2"
"HDMI-A-1, 2560x1440@75, 0x0, 1"
];
input = {
kb_layout = "de";
kb_variant = "us";
follow_mouse = 1;
};
"$mod" = "SUPER";
"$modd" = "SUPER_SHIFT";
general = {
gaps_in = 0;
gaps_out = 0;
border_size = 0;
resize_on_border = true;
layout = "dwindle";
};
decoration = {
blur.enabled = false;
drop_shadow = false;
rounding = 0;
};
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;
vfr = 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"
# status bar
"$mod, T, exec, eww open --toggle top-bar"
];
bindm = [
"$mod, mouse:272, movewindow"
];
bindle = [
# volume
", 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"
# screen brightness
", XF86MonBrightnessUp, exec, brillo -q -A 5"
", XF86MonBrightnessDown, exec, brillo -q -U 5"
];
exec-once = [
#"/home/leonv/Git/nixos/absol/hypr/killer.sh"
#"/home/leonv/Git/nixos/absol/hypr/start.sh"
#"hyprctl setcursor Bibata-Original-Classic 24"
#"systemctl --user import-environment"
#"hypridle"
#"hyprpaper"
"mako"
#"nextcloud --background"
];
};
};
# 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="cdd6f4";
background="000000";
regular0="bac2de";
regular1="f38ba8";
regular2="a6e3a1";
regular3="f9e2af";
regular4="89b4fa";
regular5="f5c2e7";
regular6="94e2d5";
regular7="585b70";
bright0="a6adc8";
bright1="f38ba8";
bright2="a6e3a1";
bright3="f9e2af";
bright4="89b4fa";
bright5="f5c2e7";
bright6="94e2d5";
bright7="45475a";
selection-foreground="cdd6f4";
selection-background="414356";
search-box-no-match="11111b f38ba8";
search-box-match="cdd6f4 313244";
jump-labels="11111b fab387";
urls="89b4fa";
};
};
};
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
'';
};
}