Convert all Hyprland settings to Lua format, including animations, binds, environment variables, monitor definitions, and window rules. Update host variable files and noctalia plugin settings to match the new Lua‑based configuration.
168 lines
4.2 KiB
Nix
168 lines
4.2 KiB
Nix
{
|
|
extraMonitorSettings,
|
|
keyboardLayout,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
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;
|
|
configType = "lua";
|
|
xwayland.enable = true;
|
|
systemd = {
|
|
enable = true;
|
|
enableXdgAutostart = true;
|
|
variables = ["--all"];
|
|
};
|
|
settings.config = {
|
|
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 = {
|
|
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)$";
|
|
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;
|
|
rounding_power = 2;
|
|
blur = {
|
|
enabled = true;
|
|
size = 5;
|
|
passes = 3;
|
|
vibrancy = 0.1696;
|
|
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 = {
|
|
vfr = true; # Variable Frame Rate
|
|
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;
|
|
};
|
|
|
|
settings.monitor =
|
|
[
|
|
{
|
|
output = "";
|
|
mode = "preferred";
|
|
position = "auto";
|
|
scale = "auto";
|
|
}
|
|
{
|
|
output = "Virtual-1";
|
|
mode = "1920x1080@60";
|
|
position = "auto";
|
|
scale = 1;
|
|
}
|
|
]
|
|
++ extraMonitorSettings;
|
|
settings.layer_rule = {
|
|
match.namespace = "noctalia-background-\\..*$";
|
|
blur = true;
|
|
blur_popups = true;
|
|
ignore_alpha = 0.5;
|
|
};
|
|
};
|
|
}
|