From 9748ccaa0c461a2e8cff349fb9733137a14fe46d Mon Sep 17 00:00:00 2001 From: voidarc Date: Mon, 24 Aug 2026 13:21:22 +0100 Subject: [PATCH] made togglable plugins option for mobile03 --- modules/features/hyprland/default.nix | 70 ++++++++++++++++++--------- modules/hosts/mobile03/default.nix | 7 ++- 2 files changed, 51 insertions(+), 26 deletions(-) diff --git a/modules/features/hyprland/default.nix b/modules/features/hyprland/default.nix index 29fa989..0a3a69c 100644 --- a/modules/features/hyprland/default.nix +++ b/modules/features/hyprland/default.nix @@ -10,10 +10,14 @@ inputs', ... }: {config, ...}: let - modules = with self.nixosModules; [ - audio - systemTheme - ]; + modules = with self.nixosModules; + [ + audio + systemTheme + ] + ++ [ + inputs.hyprland.inputs.hyprland.nixosModules.default + ]; runtimePkgs = self'.packages.hyprland.passthru.runtimePackages; lib = pkgs.lib; @@ -24,31 +28,49 @@ else lib.getExe pkg; in { imports = modules; - programs.hyprland = { - enable = true; - package = self'.packages.hyprland; + + options = { + hyprland.enablePlugins = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable plugins, basically just touchscreen support"; + }; }; - services.displayManager.defaultSession = "hyprland"; - services.xserver.enable = true; - security.polkit.enable = true; + config = { + programs.hyprland = + { + enable = true; + package = self'.packages.hyprland; + } + // lib.optionalAttrs config.hyprland.enablePlugins { + plugins = with pkgs.hyprlandPlugins; [ + hyprspace + hyprgrass + ]; + }; - environment.systemPackages = with pkgs; [ - gsettings-desktop-schemas - ]; + services.displayManager.defaultSession = "hyprland"; + services.xserver.enable = true; + security.polkit.enable = true; - system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] '' - mkdir -p /run/hypr-runtime-env/bin - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: pkg: '' - ln -sfn ${runtimeTarget name pkg} /run/hypr-runtime-env/bin/${name} - '') - runtimePkgs)} - ''; + environment.systemPackages = with pkgs; [ + gsettings-desktop-schemas + ]; - system.activationScripts.hyprConfig = lib.stringAfter ["specialfs"] '' - mkdir -p /run/hypr/config - ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config - ''; + system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] '' + mkdir -p /run/hypr-runtime-env/bin + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: pkg: '' + ln -sfn ${runtimeTarget name pkg} /run/hypr-runtime-env/bin/${name} + '') + runtimePkgs)} + ''; + + system.activationScripts.hyprConfig = lib.stringAfter ["specialfs"] '' + mkdir -p /run/hypr/config + ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config + ''; + }; }); perSystem = { self', diff --git a/modules/hosts/mobile03/default.nix b/modules/hosts/mobile03/default.nix index 46d49e8..09f4617 100644 --- a/modules/hosts/mobile03/default.nix +++ b/modules/hosts/mobile03/default.nix @@ -8,8 +8,11 @@ desktop mobile03Configuration intelDrivers - development - upower + development + upower + ({...}: { + hyprland.enablePlugins = true; + }) ]; }; }