47 lines
1.3 KiB
Nix
47 lines
1.3 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
inherit (lib) mkEnableOption mkIf singleton;
|
|
inherit (config.desktop) mainMonitor;
|
|
cfg = config.desktop.window-manager.hyprland;
|
|
in
|
|
{
|
|
options.desktop.window-manager.hyprland = {
|
|
enable = mkEnableOption "";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
desktop.enableWaylandUtilities = true;
|
|
environment.loginShellInit = # sh
|
|
''
|
|
if [[ -z "$SSH_CLIENT" && -z "$SSH_CONNECTION" ]]; then
|
|
if uwsm check may-start; then
|
|
exec uwsm start hyprland-uwsm.desktop
|
|
fi
|
|
fi
|
|
'';
|
|
environment.variables = {
|
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
|
NIXOS_OZONE_WL = "1";
|
|
};
|
|
programs.hyprland = {
|
|
enable = true;
|
|
withUWSM = true;
|
|
};
|
|
home-manager.sharedModules = singleton {
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
systemd.enable = false;
|
|
};
|
|
xdg.configFile."uwsm/env".text = # sh
|
|
''
|
|
export GDK_SCALE=${mainMonitor.scale}
|
|
export STEAM_FORCE_DESKTOPUI_SCALING=${mainMonitor.scale}
|
|
'';
|
|
xdg.configFile."uwsm/env-hyprland".text = # sh
|
|
''
|
|
export GDK_SCALE=${mainMonitor.scale}
|
|
export STEAM_FORCE_DESKTOPUI_SCALING=${mainMonitor.scale}
|
|
'';
|
|
};
|
|
};
|
|
}
|