Files
garandos/modules/home/hyprland/hyprland.nix

175 lines
4.2 KiB
Nix

{
host,
config,
pkgs,
...
}:
let
inherit (import ../../../hosts/${host}/variables.nix)
extraMonitorSettings
keyboardLayout
stylixImage
;
in
{
home.packages = with pkgs; [
swww
grim
slurp
wl-clipboard
swappy
ydotool
hyprpolkitagent
hyprland-qtutils # needed for banners and ANR messages
];
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 = false;
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;
};
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
";
};
}