nixos-config/home/hyprland.nix
2023-08-11 14:45:50 +02:00

163 lines
5.2 KiB
Nix

{ pkgs, config, lib, ... }: let
modifier = "SUPER";
in {
xdg.configFile."hypr/hyprland.conf".text = ''
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,hyprland
env = GDK_BACKEND,wayland
env = QT_QPA_PLATFORM,wayland
env = WLR_NO_HARDWARE_CURSORS,1
monitor=eDP-1,1920x1080@60.096001,0x0,1
general {
gaps_in = 5
gaps_out = 5
border_size = 2
col.active_border = rgba(002B36ee) 45deg
col.inactive_border = rgba(07364299)
no_border_on_floating = false
layout = dwindle
no_cursor_warps = true
}
input {
kb_layout = de
accel_profile = flat
follow_mouse = 1
mouse_refocus = 0
sensitivity = 0
touchpad {
natural_scroll = yes
disable_while_typing = no
}
repeat_rate = 50
repeat_delay = 300
}
decoration {
rounding = 10
blur = true
blur_size = 6
blur_passes = 3
blur_new_optimizations = true
blur_ignore_opacity = true
drop_shadow = yes
shadow_range = 4
col.shadow = rgba(1a1a1aee)
}
# animations {
# enabled = 1
# bezier = myBezier, 0.05, 0.9, 0.1, 1.05
# animation = windows, 1, 7, myBezier
# animation = windowsOut, 1, 7, default, popin 80%
# animation = workspace, 1, 6, default
# animation = border, 1, 10, default
# animation = borderangle, 1, 8, default
# animation = fade, 1, 7, default
# }
dwindle {
no_gaps_when_only = false
preserve_split = yes
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
}
master {
new_is_master = true
new_on_top = no
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
}
exec-once = waybar
exec-once = hyprpaper
exec-once = dunst
exec-once = blueman-applet
exec-once = nm-applet --indicator
$SUPER = ${modifier}
$SUPER_SHIFT = ${modifier}_SHIFT
$SUPER_ALT = ${modifier}_ALT
bind = $SUPER, Q, killactive
bind = $SUPER, T, exec, kitty
bind = $SUPER, B, exec, librewolf
bind = $SUPER, L, exec, swaylock
bind = $SUPER, F, fullscreen,1
bind = $SUPER_SHIFT, F, fullscreen,0
bind = $SUPER_SHIFT, H, splitratio, -0.05
bind = $SUPER_SHIFT, L, splitratio, +0.05
bind = $SUPER, V, togglesplit,
bind = $SUPER, 1, exec, hyprland-relative-workspace b
bind = $SUPER, 2, exec, hyprland-relative-workspace f
bind = $SUPER_SHIFT, 1, exec, hyprland-relative-workspace b --with-window
bind = $SUPER_SHIFT, 2, exec, hyprland-relative-workspace f --with-window
bind = $SUPER, left, movefocus, l
bind = $SUPER, right, movefocus, r
bind = $SUPER, up, movefocus, u
bind = $SUPER, down, movefocus, d
bind = $SUPER_SHIFT, left, movewindow, l
bind = $SUPER_SHIFT, right, movewindow, r
bind = $SUPER_SHIFT, up, movewindow, u
bind = $SUPER_SHIFT, down, movewindow, d
bind = ALT, left, resizeactive, -40 0
bind = ALT, down, resizeactive, 0 40
bind = ALT, up, resizeactive, 0 -40
bind = ALT, right, resizeactive, 40 0
bind = ALT, 1, workspace, 1
bind = ALT, 2, workspace, 2
bind = ALT, 3, workspace, 3
bind = ALT, 4, workspace, 4
bind = ALT, 5, workspace, 5
bind = ALT, 6, workspace, 6
bind = ALT, 7, workspace, 7
bind = ALT, 8, workspace, 8
bind = ALT, 9, workspace, 9
bind = ALT, 0, workspace, 0
bind = ALTSHIFT,1,movetoworkspace,1
bind = ALTSHIFT,2,movetoworkspace,2
bind = ALTSHIFT,3,movetoworkspace,3
bind = ALTSHIFT,4,movetoworkspace,4
bind = ALTSHIFT,5,movetoworkspace,5
bind = ALTSHIFT,6,movetoworkspace,6
bind = ALTSHIFT,7,movetoworkspace,7
bind = ALTSHIFT,8,movetoworkspace,8
bind = ALTSHIFT,9,movetoworkspace,9
bind = ALTSHIFT,0,movetoworkspace,0
bind = ALTSHIFT,left,movetoworkspace,-1
bind = ALTSHIFT,right,movetoworkspace,+1
bind = CTRL,right,resizeactive,20 0
bind = CTRL,left,resizeactive,-20 0
bind = CTRL,up,resizeactive,0 -20
bind = CTRL,down,resizeactive,0 20
# Move/resize windows with super + LMB/RMB and dragging
bindm = $SUPER, mouse:272, movewindow
bindm = $SUPER, mouse:273, resizewindow
# Change volume with keys
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send -t 2000 "Muted" "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
bindl=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ && notify-send -t 2000 "Raised volume to" "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | tail -c 3)%"
bindl=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send -t 2000 "Lowered volume to" "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | tail -c 3)%"
bindl=, XF86MonBrightnessDown, exec, brightnessctl set 5%- && notify-send -t 2000 "Decreased brightness to" "$(brightnessctl get)"
bindl=, XF86MonBrightnessUp, exec, brightnessctl set +5% && notify-send -t 2000 "Increased brightness to" "$(brightnessctl get)"
'';
xdg.configFile."hypr/hyprpaper.conf".text = ''
preload = ${../assets/wallpaper_street.jpg}
wallpaper = eDP-1,${../assets/wallpaper_street.jpg}
'';
}