{ pkgs, inputs, ... }: { imports = [ inputs.hyprland.homeManagerModules.default # ./waybar ./ironbar ./wofi.nix ]; home.packages = with pkgs; [ pavucontrol swaynotificationcenter ]; wayland.windowManager.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; settings = { "$mod" = "SUPER"; general = { gaps_in = 5; gaps_out = 10; }; input = { follow_mouse = 2; }; exec-once = [ "hyprctl setcursor Adwaita 24" "waybar" "swaync" ]; bind = [ # Program launcher "$mod, SPACE, exec, wofi --show drun" # Program shortcuts "$mod, F, exec, firefox" "$mod, Q, killactive" "$mod, T, exec, foot" ", Print, exec, grimblast copy area" # Windows "$mod, H, movefocus, l" "$mod, J, movefocus, d" "$mod, K, movefocus, u" "$mod, L, movefocus, r" # Moving windows "$mod SHIFT, H, movewindow, l" "$mod SHIFT, J, movewindow, d" "$mod SHIFT, K, movewindow, u" "$mod SHIFT, L, movewindow, r" ] ++ ( # workspaces # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} builtins.concatLists (builtins.genList ( x: let ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10)); in [ "$mod, ${ws}, workspace, ${toString (x + 1)}" "$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}" ] ) 10) ); }; extraConfig = '' # will switch to a submap called resize bind=$mod,R,submap,resize # will start a submap called "resize" submap=resize # sets repeatable binds for resizing the active window binde=,h,resizeactive,-10 0 binde=,j,resizeactive,0 10 binde=,k,resizeactive,0 -10 binde=,l,resizeactive,10 0 # use reset to go back to the global submap bind=,escape,submap,reset # will reset the submap, meaning end the current one and return to the global one submap=reset ''; }; gtk = { enable = true; font.name = "Inter 11"; theme = { name = "adw-gtk3-dark"; package = pkgs.adw-gtk3; }; iconTheme = { name = "Papirus"; package = pkgs.papirus-icon-theme; }; }; home.pointerCursor = { gtk.enable = true; name = "Adwaita"; package = pkgs.gnome.adwaita-icon-theme; size = 24; }; }