{inputs, pkgs, ...}: { home.packages = [ pkgs.hyprshot pkgs.nautilus pkgs.gnome-control-center pkgs.brightnessctl pkgs.cliphist ]; wayland.windowManager.hyprland = { enable = true; systemd.enable = true; settings = { "$mod" = "SUPER"; "$browser" = "firefox"; "$launcher-cmd" = "wofi --show drun -n"; "$ide" = "code"; # Global bindings bind = [ # Launch applications "$mod, space, exec, $launcher-cmd" "$mod, return, exec, kitty" "$mod, b, exec, $browser" "$mod, s, exec, $ide" "$mod, e, exec, nautilus" # Overview # "$mod, , overview:toggle" # Lock screen "$mod+Shift, l, exec, hyprlock" # Clipboard management "$mod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy" "$mod+Shift, Q, killactive," # Close window "$mod, f, togglefloating," # Toggle Floating # Move the focus "$mod, left, movefocus, l" "$mod, right, movefocus, r" "$mod, up, movefocus, u" "$mod, down, movefocus, d" # Alt-tab alternative "$mod, Tab, cyclenext," "$mod, Tab, bringactivetotop," # Move the window "$mod+Shift, left, movewindow, l" "$mod+Shift, right, movewindow, r" "$mod+Shift, up, movewindow, u" "$mod+Shift, down, movewindow, d" "$mod+Ctrl, left, movetoworkspace, -1" "$mod+Ctrl, right, movetoworkspace, +1" # # Switch workspace # "$mod+Ctrl, left, workspace, -1" # "$mod+Ctrl, right, workspace, +1" # Screenshot "$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots" "$mod+Shift, Print, exec, hyprshot -m window -o ~/Pictures/Screenshots" ]; binde = [ # Fn keys ", code:232, exec, brightnessctl set +5%" ", code:233, exec, brightnessctl set -5%" ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ]; # bindl = [ # ", switch:on:Lid Switch, exec, hyprctl dispatch dpms off" # ", switch:off:Lid Switch, exec, hyprctl dispatch dpms on" # ]; exec-once = [ # "${pkgs.hyprpaper}/bin/hyprpaper" # hyprpaper is handled as its own service "${pkgs.waybar}/bin/waybar" # listen to clipboard events and send them to cliphist "wl-paste --watch cliphist stores" "${pkgs.waybar}/bin/hypridle" # # Fixes cursor themes in gnome apps under hyprland # "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'" # "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}" ]; general = { resize_on_border = true; gaps_in = 5; gaps_out = 5; border_size = 1; "col.active_border" = "rgb(98971A) rgb(CC241D) 45deg"; layout = "master"; }; misc = { disable_hyprland_logo = true; }; input = { kb_layout = "de"; # remap caps lock to ctrl kb_options = "ctrl:nocaps"; numlock_by_default = true; # mouse input should be unchanged natural_scroll = false; sensitivity = 0.3; touchpad = { disable_while_typing = false; natural_scroll = true; }; }; gestures = { workspace_swipe = true; workspace_swipe_fingers = 4; workspace_swipe_touch = true; }; decoration = { rounding = 5; # active_opacity = 0.95; inactive_opacity = 0.9; shadow = { enabled = true; range = 6; render_power = 6; # color = "#000000"; }; # blur is set on a per-program basis layerrule = [ "blur, wofi" "ignorezero, wofi" "ignorealpha 0.5, wofi" "blur, kitty" "ignorezero, kitty" "ignorealpha 0.5, kitty" ]; }; monitor = [ "eDP-1, 3840x2160, 0x0, 1.5" # the internal laptop monitor "DP-2, 3840x2160, 0x-1440, 1.5" ", preferred, auto, 1" # automatically add any newly detected monitor ]; env = [ "NIXOS_OZONE_WL,1" "ELECTRON_OZONE_PLATFORM_HINT,wayland" ]; }; plugins = [ # Global overview # inputs.Hyprspace.packages.${pkgs.system}.Hyprspace # Touch gestures: https://github.com/horriblename/hyprgrass # inputs.hyprgrass.packages.${pkgs.system}.default # Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops # inputs.hyprland-virtual-desktops.packages.${pkgs.system}.virtual-desktops ]; }; services.network-manager-applet = { enable = true; }; services.swaync.enable = true; }