nixos-configs/nixosModules/desktop/manager/hyprland.nix
matt1432 24aa4b9842
All checks were successful
Discord / discord commits (push) Has been skipped
refactor: make modules independant and exposed in the flake for outside use
2024-08-02 22:32:29 -04:00

67 lines
1.5 KiB
Nix

self: {
config,
lib,
pkgs,
...
}: {
config = let
inherit (lib) filterAttrs hasPrefix optionals;
inherit (import ./setupMonitors.nix {inherit config pkgs;}) setupMonitors;
cfg = config.roles.desktop;
# Nix stuff
cfgHypr =
config
.home-manager
.users
.${cfg.user}
.wayland
.windowManager
.hyprland;
devices = filterAttrs (n: v: hasPrefix "device:" n) cfgHypr.settings;
in {
home-manager.users.greeter = {
imports = [
(import ../environment/home/style.nix self)
];
wayland.windowManager.hyprland = {
enable = true;
package = cfgHypr.finalPackage;
systemd.enable = false;
settings =
{
inherit (cfgHypr.settings) cursor input misc monitor;
envd = optionals (config.nvidia.enable) [
"LIBVA_DRIVER_NAME, nvidia"
"NVD_BACKEND, direct"
"XDG_SESSION_TYPE, wayland"
"GBM_BACKEND, nvidia-drm"
"__GLX_VENDOR_LIBRARY_NAME, nvidia"
];
general.border_size = 0;
decoration = {
blur.enabled = false;
drop_shadow = false;
};
exec-once = [
setupMonitors
"ags -b greeter &> /tmp/ags-greetd.log; hyprctl dispatch exit"
];
}
// devices;
};
};
};
# For accurate stack trace
_file = ./hyprland.nix;
}