diff options
| author | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-24 04:02:19 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-24 04:02:19 +0530 |
| commit | 5ea8c30b7b82d4c1e7164541892066b1f24f7d22 (patch) | |
| tree | ad9b994cc5415f63bae1f2342f520756d43c67ce /modules/desktop/niri/default.nix | |
| parent | ad96214c9ab94bce925000a6059e3c68e2ff6a22 (diff) | |
| parent | 748669e19daa3afc8f0cfe10eedc19ae9766ed2c (diff) | |
| download | home-manager-config-5ea8c30b7b82d4c1e7164541892066b1f24f7d22.tar.gz home-manager-config-5ea8c30b7b82d4c1e7164541892066b1f24f7d22.zip | |
Merge branch 'massive-refactoring'
Diffstat (limited to 'modules/desktop/niri/default.nix')
| -rw-r--r-- | modules/desktop/niri/default.nix | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/modules/desktop/niri/default.nix b/modules/desktop/niri/default.nix index a5de8d8..b17ea12 100644 --- a/modules/desktop/niri/default.nix +++ b/modules/desktop/niri/default.nix @@ -6,6 +6,7 @@ ... }: let + cfg = config.desktop; base16Colors = import ../../colors/base16 { inherit config lib pkgs; }; in { @@ -15,19 +16,43 @@ in ]; options.desktop = { - niri.package = lib.mkOption { - type = lib.types.package; - readOnly = true; - default = config.wayland.windowManager.niri.package; - description = "The niri package to use."; + niri = lib.mkOption { + type = lib.types.submodule { + options = { + package = lib.mkOption { + type = lib.types.package; + readOnly = true; + default = config.wayland.windowManager.niri.package; + description = "The niri package to use."; + }; + }; + }; + default = { }; + description = "Niri window manager configuration."; }; hardware.gpu = { - nvidia.enable = lib.mkEnableOption "Nvidia GPU Wayland optimizations"; - amd.enable = lib.mkEnableOption "AMD GPU Wayland optimizations"; + nvidia = lib.mkOption { + type = lib.types.submodule { + options = { + enable = lib.mkEnableOption "Nvidia GPU Wayland optimizations"; + }; + }; + default = { }; + description = "NVIDIA GPU configuration."; + }; + amd = lib.mkOption { + type = lib.types.submodule { + options = { + enable = lib.mkEnableOption "AMD GPU Wayland optimizations"; + }; + }; + default = { }; + description = "AMD GPU configuration."; + }; }; }; - config = lib.mkIf config.desktop.enable { + config = lib.mkIf cfg.enable { home.sessionVariables = lib.mkMerge [ { NIXOS_OZONE_WL = "1"; @@ -38,7 +63,7 @@ in QT_SCALE_FACTOR = "1"; } - (lib.mkIf config.desktop.hardware.gpu.nvidia.enable { + (lib.mkIf cfg.hardware.gpu.nvidia.enable { LIBVA_DRIVER_NAME = "nvidia"; __GLX_VENDOR_LIBRARY_NAME = "nvidia"; GBM_BACKEND = "nvidia-drm"; @@ -46,7 +71,7 @@ in __GL_VRR_ALLOWED = "0"; }) - (lib.mkIf config.desktop.hardware.gpu.amd.enable { + (lib.mkIf cfg.hardware.gpu.amd.enable { AMD_VULKAN_ICD = "RADV"; MESA_VK_DEVICE_SELECT = "1002:"; }) |
