diff options
Diffstat (limited to 'modules/desktop')
| -rw-r--r-- | modules/desktop/mako/default.nix | 5 | ||||
| -rw-r--r-- | modules/desktop/niri/default.nix | 45 | ||||
| -rw-r--r-- | modules/desktop/swayidle/default.nix | 7 | ||||
| -rw-r--r-- | modules/desktop/wl-clipboard/default.nix | 5 |
4 files changed, 48 insertions, 14 deletions
diff --git a/modules/desktop/mako/default.nix b/modules/desktop/mako/default.nix index 2123b57..a918d02 100644 --- a/modules/desktop/mako/default.nix +++ b/modules/desktop/mako/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.desktop.mako; +in { imports = [ ./colors.nix ]; @@ -18,7 +21,7 @@ }; }; - config = lib.mkIf config.desktop.mako.enable { + config = lib.mkIf cfg.enable { services.mako = { enable = true; settings = { 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:"; }) diff --git a/modules/desktop/swayidle/default.nix b/modules/desktop/swayidle/default.nix index e1acaa0..e2877b6 100644 --- a/modules/desktop/swayidle/default.nix +++ b/modules/desktop/swayidle/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.desktop.swayidle; +in { options.desktop.swayidle = { enable = lib.mkEnableOption "Enables swayidle."; @@ -16,10 +19,10 @@ }; }; - config = lib.mkIf config.desktop.swayidle.enable { + config = lib.mkIf cfg.enable { services.swayidle = { enable = true; - package = config.desktop.swayidle.package; + package = cfg.package; systemdTargets = [ "graphical-session.target" ]; timeouts = [ { diff --git a/modules/desktop/wl-clipboard/default.nix b/modules/desktop/wl-clipboard/default.nix index 956a792..678e241 100644 --- a/modules/desktop/wl-clipboard/default.nix +++ b/modules/desktop/wl-clipboard/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.desktop.wl-clipboard; +in { options.desktop.wl-clipboard = { package = lib.mkOption { @@ -16,6 +19,6 @@ }; config = lib.mkIf config.desktop.enable { - home.packages = [ config.desktop.wl-clipboard.package ]; + home.packages = [ cfg.package ]; }; } |
