{ pkgs, ... }: { imports = [ ../rofi ../kitty ../waybar ]; wayland.windowManager.hyprland= { enable = true; xwayland.enable = true; settings = { "$mod" = "SUPER"; exec-once = [ "waybar" "xss-lock --transfer-sleep-lock -- swaylock" ]; bind = [ "$mod, C, exec, firefox" #", Print, exec, grimblast copy area" "$mod, D, exec, rofi -i -show drun -disable-history" "$mod Shift, E, exit" "$mod, Return, exec, kitty" "$mod, T, togglesplit" "$mod Control, left, workspace, m-1" "$mod Control, h, workspace, m-1" "$mod Control, right, workspace, m+1" "$mod Control, l, workspace, m+1" "$mod, x, exec, swaylock" "$mod Shift, x, exec, swaylock" "$mod Shift, x, exec, systemctl suspend" "$mod Shift, MINUS, exec, emacsclient -c" ] ++ ( # 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) ) ++ ( builtins.map ( x: "$mod, ${ builtins.elemAt x 0}, movefocus, ${builtins.elemAt x 1}\nbind=$mod Shift, ${builtins.elemAt x 0}, movewindow, ${builtins.elemAt x 1}" ) [ ["h" "l"] ["left" "l"] ["j" "d"] ["down" "d"] ["k" "u"] ["up" "u"] ["l" "r"] ["right" "r"] ] ); monitor = [ "eDP-1, 1920x1080, 0x0, 1" "HDMI-A-1, 1920x1080, 1920x0, 1" ]; input = { touchpad.natural_scroll = true; #touchpad.scroll_factor = 0.5; accel_profile = "flat"; follow_mouse = true; #sensitivity = 0.00; }; decoration.rounding = 10; animation = [ "workspaces,1,5,easeOutQuint,slide" ]; bezier = [ "easeInOutCubic,0.65,0,0.35,1" "easeOutQuint,0.22,1,0.36,1" ]; }; }; home.packages = with pkgs; [ swaylock ]; }