args@{ config, lib, inputs, pkgs, wayland, ... }: { # home.file.hyprland-catppuccino = let flavour = "frappe"; # in { # enable = true; # target = ".config/hypr/catppuccino.conf"; # text = builtins.readFile (pkgs.fetchFromGitHub { # owner = "catppuccin"; # repo = "hyprland"; # rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be"; # sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8="; # } + /themes/${flavour}.conf); # }; wayland.windowManager.hyprland = { enable = true; systemd.enable = true; plugins = [ inputs.hyprsplit.packages.${pkgs.stdenv.hostPlatform.system}.hyprsplit ]; settings = { source = [ "~/.config/hypr/monitors.conf" #"~/.config/hypr/catppuccino.conf" ]; input = { kb_layout = "de"; kb_options = "caps:swapescape"; follow_mouse = 1; touchpad = { natural_scroll = false; }; sensitivity = 0; }; general = { gaps_in = 15; gaps_out = 20; border_size = 2; resize_on_border = true; "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; "col.inactive_border" = "rgba(595959aa)"; layout = "master"; # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false; }; misc = { force_default_wallpaper = -1; vfr = true; vrr = 1; animate_manual_resizes = true; }; decoration = { rounding = 10; drop_shadow = true; shadow_range = 4; shadow_render_power = 3; "col.shadow" = "rgba(1a1a1aee)"; blur = { enabled = true; size = 3; passes = 1; }; }; animations = { enabled = true; 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 = { pseudotile = false; preserve_split = true; force_split = 0; default_split_ratio = 1.5; }; master = { new_status = "slave"; orientation = "center"; #workspace = "w[g2], layoutopt:orientation:left"; always_center_master = true; mfact = 0.5; special_scale_factor = 0.8; }; gestures = { workspace_swipe = false; }; "$lockscreen" = "${pkgs.hyprlock}/bin/hyprlock"; "$mainMod" = "SUPER"; bind = [ "$mainMod, Q, exec, ${pkgs.kitty}/bin/kitty" "$mainMod, C, killactive," "$mainMod, M, exec, ${pkgs.wlogout}/bin/wlogout" "$mainMod, E, exec, dolphin" "$mainMod, V, togglefloating," "$mainMod, R, exec, ${pkgs.fuzzel}/bin/fuzzel" "$mainMod, P, pseudo," # dwindle "$mainMod, J, togglesplit," # dwindle "$mainMod, T, togglegroup," "$mainMod, A, layoutmsg, swapwithmaster master" "$mainMod, I, layoutmsg, orientationcenter" "$mainMod, H, layoutmsg, orientationleft" "$mainMod, L, layoutmsg, orientationright" # Screenshots #"SHIFT, PRINT, exec, hyprshot -m region" '' $mainMod, PRINT, exec, ${pkgs.grim}/bin/grim -l 9 -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -'' '' $mainMod SHIFT, PRINT, exec, ${pkgs.grim}/bin/grim -l 9 - | ${pkgs.swappy}/bin/swappy -f -'' "$mainMod SHIFT, L, exec, $lockscreen" # Move focus "$mainMod, left, movefocus, l" "$mainMod, right, movefocus, r" "$mainMod, up, movefocus, u" "$mainMod, down, movefocus, d" # Move windows inside a workspace "$mainMod SHIFT, a, movewindoworgroup, l" "$mainMod SHIFT, d, movewindoworgroup, r" #Handle tabbed windows "$mainMod, tab, changegroupactive," "$mainMod SHIFT, T, lockactivegroup, toggle" # Switch workspaces "$mainMod, 1, split:workspace, 1" "$mainMod, 2, split:workspace, 2" "$mainMod, 3, split:workspace, 3" "$mainMod, 4, split:workspace, 4" "$mainMod, 5, split:workspace, 5" "$mainMod, 6, split:workspace, 6" "$mainMod, 7, split:workspace, 7" "$mainMod, 8, split:workspace, 8" "$mainMod, 9, split:workspace, 9" # Move windows to workspaces "$mainMod SHIFT, 1, split:movetoworkspace, 1" "$mainMod SHIFT, 2, split:movetoworkspace, 2" "$mainMod SHIFT, 3, split:movetoworkspace, 3" "$mainMod SHIFT, 4, split:movetoworkspace, 4" "$mainMod SHIFT, 5, split:movetoworkspace, 5" "$mainMod SHIFT, 6, split:movetoworkspace, 6" "$mainMod SHIFT, 7, split:movetoworkspace, 7" "$mainMod SHIFT, 8, split:movetoworkspace, 8" "$mainMod SHIFT, 9, split:movetoworkspace, 9" # Swap workspaces "$mainMod SHIFT, m, split:swapactiveworkspaces, current +1" # Scroll through workspaces "$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_up, workspace, e-1" # Special workspace "SHIFT ALT, RETURN, togglespecialworkspace" "$mainMod SHIFT, S, movetoworkspace, special" ]; # Mouse bindings # 274: Middle mouse button # 275: left near # 276: left far # 277: right near # 278: right far bindm = [ "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; windowrulev2 = [ "tile,class:(pharo)" ]; # Autostart exec-once = [ "[workspace special] ${pkgs.kitty}/bin/kitty" "sleep 1; hyprctl dispatch layoutmsg orientationleft; hyprctl dispatch togglespecialworkspace" ]; }; }; }