feat(hypr): update config with latest variables from hyprland
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
eea2b60b91
commit
ecbabde0bd
4 changed files with 73 additions and 46 deletions
|
@ -8,8 +8,15 @@
|
||||||
inherit (lib) concatStringsSep optionals;
|
inherit (lib) concatStringsSep optionals;
|
||||||
inherit (config.vars) mainUser;
|
inherit (config.vars) mainUser;
|
||||||
|
|
||||||
cfg = config.home-manager.users.${mainUser}.wayland.windowManager.hyprland;
|
|
||||||
isTouchscreen = config.hardware.sensor.iio.enable;
|
isTouchscreen = config.hardware.sensor.iio.enable;
|
||||||
|
cfg =
|
||||||
|
config
|
||||||
|
.home-manager
|
||||||
|
.users
|
||||||
|
.${mainUser}
|
||||||
|
.wayland
|
||||||
|
.windowManager
|
||||||
|
.hyprland;
|
||||||
in {
|
in {
|
||||||
# SYSTEM CONFIG
|
# SYSTEM CONFIG
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -19,11 +26,6 @@ in {
|
||||||
./security.nix
|
./security.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
GTK_USE_PORTAL = "1";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
dbus.enable = true;
|
dbus.enable = true;
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
|
@ -31,12 +33,14 @@ in {
|
||||||
xserver.wacom.enable = isTouchscreen;
|
xserver.wacom.enable = isTouchscreen;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.hyprland = let
|
programs.hyprland = {
|
||||||
inherit (hyprland.packages.${pkgs.system}) xdg-desktop-portal-hyprland;
|
|
||||||
in {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
package = cfg.finalPackage;
|
package = cfg.finalPackage;
|
||||||
portalPackage = xdg-desktop-portal-hyprland;
|
portalPackage =
|
||||||
|
hyprland
|
||||||
|
.packages
|
||||||
|
.${pkgs.system}
|
||||||
|
.xdg-desktop-portal-hyprland;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
|
@ -51,7 +55,10 @@ in {
|
||||||
"hyprland"
|
"hyprland"
|
||||||
"gtk"
|
"gtk"
|
||||||
];
|
];
|
||||||
"org.freedesktop.impl.portal.FileChooser" = ["kde"];
|
|
||||||
|
"org.freedesktop.impl.portal.FileChooser" = [
|
||||||
|
"kde"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -66,27 +73,35 @@ in {
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = hyprland.packages.${pkgs.system}.default;
|
package =
|
||||||
|
hyprland
|
||||||
|
.packages
|
||||||
|
.${pkgs.system}
|
||||||
|
.default;
|
||||||
|
|
||||||
systemd.variables = ["-all"];
|
systemd.variables = ["-all"];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
env = let
|
envd = let
|
||||||
gset = pkgs.gsettings-desktop-schemas;
|
mkGSchemas = pkg: "${pkg}/share/gsettings-schemas/${pkg.name}";
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
|
"GTK_USE_PORTAL, 1"
|
||||||
|
"NIXOS_OZONE_WL, 1"
|
||||||
|
"ELECTRON_OZONE_PLATFORM_HINT, auto"
|
||||||
|
|
||||||
"XDG_DATA_DIRS, ${concatStringsSep ":" [
|
"XDG_DATA_DIRS, ${concatStringsSep ":" [
|
||||||
"${gset}/share/gsettings-schemas/${gset.name}"
|
(mkGSchemas pkgs.gsettings-desktop-schemas)
|
||||||
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
(mkGSchemas pkgs.gtk3)
|
||||||
"$XDG_DATA_DIRS"
|
"$XDG_DATA_DIRS"
|
||||||
]}"
|
]}"
|
||||||
]
|
]
|
||||||
++ (optionals config.nvidia.enable [
|
++ (optionals config.nvidia.enable [
|
||||||
"LIBVA_DRIVER_NAME, nvidia"
|
"LIBVA_DRIVER_NAME, nvidia"
|
||||||
|
"NVD_BACKEND, direct"
|
||||||
"XDG_SESSION_TYPE, wayland"
|
"XDG_SESSION_TYPE, wayland"
|
||||||
"GBM_BACKEND, nvidia-drm"
|
"GBM_BACKEND, nvidia-drm"
|
||||||
"__GLX_VENDOR_LIBRARY_NAME, nvidia"
|
"__GLX_VENDOR_LIBRARY_NAME, nvidia"
|
||||||
"WLR_NO_HARDWARE_CURSORS, 1"
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
xwayland.force_zero_scaling = true;
|
xwayland.force_zero_scaling = true;
|
||||||
|
@ -113,26 +128,20 @@ in {
|
||||||
])
|
])
|
||||||
];
|
];
|
||||||
|
|
||||||
gestures = {
|
|
||||||
workspace_swipe = true;
|
|
||||||
workspace_swipe_fingers = 3;
|
|
||||||
workspace_swipe_cancel_ratio = 0.15;
|
|
||||||
};
|
|
||||||
|
|
||||||
"$mainMod" = "SUPER";
|
"$mainMod" = "SUPER";
|
||||||
|
|
||||||
bind = [
|
bind = [
|
||||||
# Defaults
|
# Defaults
|
||||||
"$mainMod, F, fullscreen"
|
"$mainMod, F, fullscreen"
|
||||||
"$mainMod, C, killactive, "
|
"$mainMod, C, killactive"
|
||||||
"$mainMod SHIFT, SPACE, togglefloating, "
|
"$mainMod SHIFT, SPACE, togglefloating"
|
||||||
"$mainMod, J, layoutmsg, togglesplit"
|
"$mainMod, J, layoutmsg, togglesplit"
|
||||||
|
|
||||||
## Move focus with arrow keys
|
## Move focus with arrow keys
|
||||||
"$mainMod, left, movefocus, l"
|
"$mainMod, left, movefocus, l"
|
||||||
"$mainMod, right, movefocus, r"
|
"$mainMod, right, movefocus, r"
|
||||||
"$mainMod, up, movefocus, u"
|
"$mainMod, up, movefocus, u"
|
||||||
"$mainMod, down, movefocus, d"
|
"$mainMod, down, movefocus, d"
|
||||||
|
|
||||||
## Move to specific workspaces
|
## Move to specific workspaces
|
||||||
"$mainMod, 1, workspace, 1"
|
"$mainMod, 1, workspace, 1"
|
||||||
|
@ -158,7 +167,7 @@ in {
|
||||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
|
||||||
",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||||
",XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
",XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -176,6 +185,7 @@ in {
|
||||||
misc = {
|
misc = {
|
||||||
disable_hyprland_logo = true;
|
disable_hyprland_logo = true;
|
||||||
disable_splash_rendering = true;
|
disable_splash_rendering = true;
|
||||||
|
initial_workspace_tracking = 2; # persistent (all children too)
|
||||||
vfr = true;
|
vfr = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{osConfig, ...}: let
|
||||||
lib,
|
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) optionals;
|
|
||||||
inherit (osConfig.services.xserver) xkb;
|
inherit (osConfig.services.xserver) xkb;
|
||||||
inherit (osConfig.vars) mainMonitor;
|
inherit (osConfig.vars) mainMonitor;
|
||||||
|
|
||||||
|
@ -11,7 +6,7 @@
|
||||||
"logitech-g502-x"
|
"logitech-g502-x"
|
||||||
"logitech-g502-hero-gaming-mouse"
|
"logitech-g502-hero-gaming-mouse"
|
||||||
];
|
];
|
||||||
nagaConf = name: {
|
mkConf = name: {
|
||||||
inherit name;
|
inherit name;
|
||||||
sensitivity = 0;
|
sensitivity = 0;
|
||||||
accel_profile = "flat";
|
accel_profile = "flat";
|
||||||
|
@ -19,29 +14,49 @@
|
||||||
in {
|
in {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
settings = {
|
settings = {
|
||||||
device = map (d: (nagaConf d)) miceNames;
|
device = map (d: (mkConf d)) miceNames;
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
no_hardware_cursors = osConfig.nvidia.enable;
|
||||||
|
hide_on_touch = true;
|
||||||
|
default_monitor =
|
||||||
|
if mainMonitor != null
|
||||||
|
then mainMonitor
|
||||||
|
else "";
|
||||||
|
};
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
|
# Keyboard
|
||||||
kb_layout = xkb.layout;
|
kb_layout = xkb.layout;
|
||||||
kb_variant = xkb.variant;
|
kb_variant = xkb.variant;
|
||||||
|
numlock_by_default = true;
|
||||||
|
repeat_rate = 100;
|
||||||
|
|
||||||
|
# Mouse
|
||||||
follow_mouse = true;
|
follow_mouse = true;
|
||||||
|
|
||||||
|
# Touchpad
|
||||||
touchpad = {
|
touchpad = {
|
||||||
natural_scroll = true;
|
natural_scroll = true;
|
||||||
disable_while_typing = false;
|
disable_while_typing = false;
|
||||||
|
drag_lock = true;
|
||||||
|
tap-and-drag = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gestures = {
|
||||||
|
workspace_swipe = true;
|
||||||
|
workspace_swipe_fingers = 3;
|
||||||
|
workspace_swipe_touch = true;
|
||||||
|
workspace_swipe_cancel_ratio = 0.15;
|
||||||
|
};
|
||||||
|
|
||||||
bind = [
|
bind = [
|
||||||
",XF86AudioPlay, exec, playerctl play-pause"
|
",XF86AudioPlay, exec, playerctl play-pause"
|
||||||
",XF86AudioStop, exec, playerctl stop"
|
",XF86AudioStop, exec, playerctl stop"
|
||||||
",XF86AudioNext, exec, playerctl next"
|
",XF86AudioNext, exec, playerctl next"
|
||||||
",XF86AudioPrev, exec, playerctl previous"
|
",XF86AudioPrev, exec, playerctl previous"
|
||||||
];
|
];
|
||||||
|
|
||||||
exec-once =
|
|
||||||
optionals (! isNull mainMonitor)
|
|
||||||
["hyprctl dispatch focusmonitor ${mainMonitor}"];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ in {
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
settings = {
|
settings = {
|
||||||
env = ["XCURSOR_SIZE, 24"];
|
envd = ["XCURSOR_SIZE, 24"];
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprctl setcursor Dracula-cursors 24"
|
"hyprctl setcursor Dracula-cursors 24"
|
||||||
|
|
|
@ -60,7 +60,7 @@ in {
|
||||||
finegrained = false;
|
finegrained = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
open = cfg.enableWayland;
|
open = false;
|
||||||
|
|
||||||
package =
|
package =
|
||||||
if !cfg.enableWayland
|
if !cfg.enableWayland
|
||||||
|
@ -87,6 +87,8 @@ in {
|
||||||
vdpauinfo
|
vdpauinfo
|
||||||
]);
|
]);
|
||||||
|
|
||||||
boot.kernelModules = optionals cfg.enableCUDA ["nvidia-uvm"];
|
boot.kernelModules =
|
||||||
|
optionals cfg.enableCUDA ["nvidia-uvm"]
|
||||||
|
++ ["nvidia" "nvidia-drm"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue