{ pkgs, system, ... }: { wayland.windowManager.hyprland = { enable = true; settings = { # See https://wiki.hyprland.org/Configuring/Monitors/ monitor = ",preferred,auto,auto"; # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. env = "XCURSOR_SIZE,24"; # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input = { kb_layout = "de,de"; kb_variant = ",neo"; kb_model = ""; kb_options = "grp:win_space_toggle"; kb_rules = ""; follow_mouse = "1"; touchpad = { natural_scroll = "yes"; }; sensitivity = "0"; # -1.0 - 1.0, 0 means no modification. }; general = { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = "1"; gaps_out = "2"; border_size = "1"; #"col.active_border" = "rgba(000000cc)"; #"col.inactive_border" = "rgba(595959aa)"; layout = "dwindle"; }; decoration = { # See https://wiki.hyprland.org/Configuring/Variables/ for more inactive_opacity = "1"; active_opacity = "1"; rounding = "1"; blur = { enabled = false; #size = "3"; #passes = "1"; #new_optimizations = "on"; }; drop_shadow = "yes"; shadow_range = "4"; shadow_render_power = "3"; #"col.shadow" = "rgba(1a1a1aee)"; }; animations = { enabled = "yes"; # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; animation = [ "windows, 1, 7, myBezier" "windowsOut, 1, 7, default, popin 80%" "border, 1, 10, default" "borderangle, 1, 8, default" "fade, 1, 7, default" "workspaces, 1, 6, default" ]; }; dwindle = { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = "yes"; # you probably want this }; master = { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = "true"; }; gestures = { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = "off"; }; # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more "$mainMod" = "SUPER"; # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = [ "$mainMod, T, exec, foot" "$mainMod, C, killactive, " "$mainMod, M, exit, " "$mainMod, E, exec, dolphin " "$mainMod, V, togglefloating, " "$mainMod, R, exec, rofi -show drun" "$mainMod, P, pseudo, " # dwindle "$mainMod, J, togglesplit, " # dwindle "$mainMod, L, exec, swaylock" # screenlock ''$mainMod, S, exec, grim -l 0 -g "$(slurp)" - | wl-copy'' # screenshots ''$mainMod, K, exec, zsh -exec "ssh-agent && keepassxc"'' # opens keepass after starting ssh-agent '', code:102, exec, zsh -exec "ssh-agent && keepassxc"'' # Move focus with mainMod + arrow keys "$mainMod, left, movefocus, l" "$mainMod, right, movefocus, r" "$mainMod, up, movefocus, u" "$mainMod, down, movefocus, d" # Switch workspaces with mainMod + [0-9] "$mainMod, 1, focusworkspaceoncurrentmonitor, 1" "$mainMod, 2, focusworkspaceoncurrentmonitor, 2" "$mainMod, 3, focusworkspaceoncurrentmonitor, 3" "$mainMod, 4, focusworkspaceoncurrentmonitor, 4" "$mainMod, 5, focusworkspaceoncurrentmonitor, 5" "$mainMod, 6, focusworkspaceoncurrentmonitor, 6" "$mainMod, 7, focusworkspaceoncurrentmonitor, 7" "$mainMod, 8, focusworkspaceoncurrentmonitor, 8" "$mainMod, 9, focusworkspaceoncurrentmonitor, 9" "$mainMod, 0, focusworkspaceoncurrentmonitor, 10" # Move active window to a workspace with mainMod + SHIFT + [0-9] "$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" # Scroll through existing workspaces with mainMod + scroll "$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_up, workspace, e-1" ]; binde = [ ",XF86MonBrightnessUp, exec, brightnessctl s +3%" ",XF86MonBrightnessDown, exec, brightnessctl s 3%-" ",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle" ",XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%" ",XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%" ",XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle" "ALT, A, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle" "ALT SHIFT, A, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%" "$mainMod, ALT, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%" ]; # Move/resize windows with mainMod + LMB/RMB and dragging bindm = [ "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; #exec-once=bash ~/.config/hypr/start.sh #exec-once=swww init & exec-once = [ #"${pkgs.nwg-panel}/bin/nwg-panel" #"nm-applet --indicator" #"${pkgs.waybar}/bin/waybar" "${pkgs.mako}/bin/mako" "${pkgs.swaybg}/bin/swaybg -i ~/repos/nix-config/files/wallpaper.jpg" ]; }; }; }