nixos/home/hyprland/default.nix
2024-06-08 01:06:31 +02:00

173 lines
4.8 KiB
Nix

{...}: {
imports = [
./hyprgrass.nix
./utils.nix
];
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd.enable = true;
settings = {
"$terminal" = "alacritty";
"$fileManager" = "alacritty -e ranger";
monitor = [
"eDP-1, 1920x1080, 0x0, 1"
",preferred,auto,1"
];
exec-once = [
"ssh-agent"
"[workspace special:keepass silent] keepassxc"
];
windowrulev2 = [
"workspace special:keepass,class:org.keepassxc.KeePassXC,title:^(.*)(KeePassXC)(.*)$"
"workspace unset,class:org.keepassxc.KeePassXC,title:Unlock Database - KeePassXC"
"workspace special:chatgpt,class:firefox,title:ChatGPT Mozilla Firefox"
"float,class:firefox,title:ChatGPT Mozilla Firefox"
];
workspace = [
"special:keepass,gapsout:25"
"special:magic,gapsout:25"
"special:chatgpt,gapsout:25"
];
input = {
kb_layout = "de";
follow_mouse = 1;
touchpad.natural_scroll = true;
sensitivity = 0;
kb_options = "compose:caps";
};
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgba(5bcefaee) rgba(f5a9b8ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
allow_tearing = false;
};
decoration = {
rounding = 3;
blur = {
enabled = true;
size = 2;
passes = 1;
};
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
};
animations = {
enabled = true;
bezier = "myBezier, 0.0, 0.8, 0.2, 1.0";
animation = [
"windows, 1, 5, myBezier"
"windowsOut, 1, 5, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 5, myBezier"
"specialWorkspace, 1, 5, myBezier, slidefadevert"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_is_master = true;
};
"$mainMod" = "SUPER";
bind = [
"$mainMod, Q, exec, $terminal"
"$mainMod, C, killactive,"
"$mainMod, backspace, exit,"
"$mainMod, E, exec, $fileManager"
"$mainMod, O, togglefloating,"
"$mainMod, R, exec, pkill wofi || wofi --show=drun"
"$mainMod, P, pseudo,"
"$mainMod, J, togglesplit,"
"$mainMod, K, togglespecialworkspace, keepass"
"$mainMod, K, exec, if (( $(pgrep keepassxc -c) < 2 )); then keepassxc; fi"
"$mainMod, M, togglespecialworkspace, chatgpt"
"$mainMod, M, exec, [workspace special:chatgpt] pgrep firefox | xargs ps -fp | grep -- '-P ChatGPT --url chat.openai.com' || firefox -P ChatGPT --url chat.openai.com"
", print, exec, grim -g \"$(slurp)\" - | wl-copy && wl-paste > ~/sync/Screenshots/$(date +'%s')_spectre-pad.png && notify-send Area Captured"
"CTRL, print, exec, grim - | wl-copy && wl-paste > ~/sync/Screenshots/$(date +'%s')_spectre-pad.png && notify-send Screen Captured"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
"$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"
"$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"
"$mainMod, S, togglespecialworkspace, magic"
"$mainMod SHIFT, S, movetoworkspace, special:magic"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
binde = [
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
];
};
};
}