{ host, config, pkgs, ... }: let inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout; in { systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ]; # Place Files Inside Home Directory home.file = { "Pictures/Wallpapers" = { source = ../../../wallpapers; recursive = true; }; ".face.icon".source = ./face.jpg; ".config/face.jpg".source = ./face.jpg; }; wayland.windowManager.hyprland = { enable = true; package = pkgs.hyprland; systemd = { enable = true; enableXdgAutostart = true; variables = [ "--all" ]; }; xwayland = { enable = true; }; settings = { input = { kb_layout = "${keyboardLayout}"; kb_options = [ "grp:alt_caps_toggle" "caps:super" ]; numlock_by_default = true; repeat_delay = 300; follow_mouse = 1; float_switch_override_focus = 0; sensitivity = 0; touchpad = { natural_scroll = true; disable_while_typing = true; scroll_factor = 0.8; }; }; gestures = { # workspace_swipe = 1; # workspace_swipe_fingers = 3; workspace_swipe_distance = 500; workspace_swipe_invert = 1; workspace_swipe_min_speed_to_force = 30; workspace_swipe_cancel_ratio = 0.5; workspace_swipe_create_new = 1; workspace_swipe_forever = 1; }; general = { "$modifier" = "SUPER"; layout = "dwindle"; gaps_in = 6; gaps_out = 8; border_size = 2; resize_on_border = true; "col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg"; "col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})"; }; misc = { layers_hog_keyboard_focus = true; initial_workspace_tracking = 0; mouse_move_enables_dpms = true; key_press_enables_dpms = false; disable_hyprland_logo = true; disable_splash_rendering = true; enable_swallow = true; swallow_regex = "^(kitty)$"; vfr = true; # Variable Frame Rate vrr = 2; # Variable Refresh Rate Might need to set to 0 for NVIDIA/AQ_DRM_DEVICES # Screen flashing to black momentarily or going black when app is fullscreen # Try setting vrr to 0 # Application not responding (ANR) settings enable_anr_dialog = true; anr_missed_pings = 15; }; dwindle = { pseudotile = true; preserve_split = true; force_split = 2; }; decoration = { rounding = 10; blur = { enabled = true; size = 5; passes = 3; ignore_opacity = false; new_optimizations = true; }; shadow = { enabled = true; range = 4; render_power = 3; color = "rgba(1a1a1aee)"; }; }; ecosystem = { no_donation_nag = true; no_update_news = false; }; cursor = { sync_gsettings_theme = true; no_hardware_cursors = 2; # change to 1 if want to disable enable_hyprcursor = false; warp_on_change_workspace = 2; no_warps = true; }; render = { # Disabling as no longer supported #explicit_sync = 1; # Change to 1 to disable #explicit_sync_kms = 1; direct_scanout = 0; }; debug = { full_cm_proto = true; }; master = { new_status = "master"; new_on_top = 1; mfact = 0.5; }; # Ensure Xwayland windows render at integer scale; compositor scales them xwayland = { force_zero_scaling = true; }; }; extraConfig = " monitor=,preferred,auto,auto monitor=Virtual-1,1920x1080@60,auto,1 ${ extraMonitorSettings } # To enable blur on waybar uncomment the line below # Thanks to SchotjeChrisman #layerrule = blur,waybar "; }; }