pantheon/modules/home/desktop/windowManager/hyprland/default.nix

47 lines
1.2 KiB
Nix

{
pkgs,
lib,
osConfig,
...
}:
let
inherit (osConfig.desktop) mainMonitor;
in
{
config = lib.mkIf (osConfig.desktop.windowManager == "hyprland") {
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = false;
settings = lib.mkMerge [
{
ecosystem.no_update_news = true;
monitor = [
"${mainMonitor.id}, ${mainMonitor.resolution}@${mainMonitor.refresh-rate}, auto, ${mainMonitor.scale}"
", preferred, auto, 1"
];
exec-once = [
"uwsm app -- $LOCKSCREEN"
"uwsm app -- $NOTIFICATION_DAEMON"
"uwsm app -- $STATUS_BAR"
];
xwayland.force_zero_scaling = true;
}
(import ./decoration.nix)
(import ./keybinds.nix { inherit pkgs; })
];
};
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}
'';
};
}