{inputs, pkgs, ...}: { home.packages = [ pkgs.hyprshot pkgs.nautilus pkgs.gnome-control-center pkgs.brightnessctl pkgs.swaync ]; wayland.windowManager.hyprland = { enable = true; systemd.enable = true; settings = { "$mod" = "SUPER"; "$browser" = "firefox"; # Global bindings bind = [ # Launch applications "$mod, space, exec, walker" "$mod, return, exec, kitty" "$mod, b, exec, $browser" "$mod, s, exec, code" "$mod, e, exec, nautilus" "$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" # Move the window "$mod+Shift, left, movewindow, l" "$mod+Shift, right, movewindow, r" "$mod+Shift, up, movewindow, u" "$mod+Shift, down, movewindow, d" # 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" ]; exec-once = [ "${pkgs.hyprpaper}/bin/hyprpaper" "${pkgs.waybar}/bin/waybar" ]; general = { resize_on_border = true; gaps_in = 5; gaps_out = 5; border_size = 1; layout = "master"; }; misc = { disable_hyprland_logo = true; }; input = { kb_layout = "de"; kb_options = "caps:control"; numlock_by_default = true; # mouse input should be unchanged natural_scroll = false; 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 = { enabled = true; size = 4; passes = 2; new_optimizations = on; ignore_opacity = true; }; }; monitor = [ "eDP-1, highres, 0x0, 1.5" # the internal laptop monitor ", preferred, auto, 1" # automatically add any newly detected monitor ]; }; plugins = [ # 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 ]; }; # imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ]; # # the overlay makes this available as a home manager module # programs.hyprpanel = { # enable = true; # # autostart after hyprland # hyprland.enable = true; # overwrite.enable = true; # overlay.enable = true; # theme = "monochrome"; # settings = { # bar = { # clock.format = "%H:%M"; # clock.showIcon = false; # launcher.icon = "🚀"; # launcher.autoDetectIcon = true; # workspaces.show_icons = true; # }; # }; # layout = { # "bar.layouts" = { # "*" = { # left = ["workspaces"]; # middle = ["clock"]; # right = ["volume" "systray" "nm-applet" "notifications" ]; # }; # }; # }; # }; programs.walker = { enable = true; runAsService = true; # All options from the config.json can be used here. config = { search.placeholder = "Search"; ui.fullscreen = true; list = { height = 200; }; websearch.prefix = "?"; switcher.prefix = "/"; }; }; programs.hyprlock = { enable = true; settings = { general = { grace = 5; no_fade_in = false; disable_loading_bar = false; }; }; # Style the lock screen }; services.network-manager-applet = { enable = true; }; }