diff --git a/Droidnix/README.org b/Droidnix/README.org index 2952bfa8a..a30e68207 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -1994,28 +1994,23 @@ This is top file of this level which contains just an import statement for all r let wofiAssets = ../../../assets/system/conf/wofi; wofiFiles = builtins.readDir wofiAssets; - - # Generate attribute set of files wofiConfs = lib.genAttrs (builtins.attrNames wofiFiles) (name: { src = "${wofiAssets}/${name}"; }); - # Module options - enableWofi = true; # or set to false to disable + enableWofi = true; # toggle on/off in { - options = { - enableWofi = lib.mkEnableOption "Enable Wofi terminal launcher"; - }; + options.enableWofi = lib.mkEnableOption "Enable Wofi terminal launcher"; - # Conditional attributes returned directly - wofi = if enableWofi then { - xdg = { - wofi = { - source = wofiAssets; - files = wofiConfs; - }; + # Everything is wrapped safely in config + config = lib.mkIf enableWofi { + # Just symbolic references to files, no pkgs or recursive config + programs.wofi = { + enable = true; + assetsDir = wofiAssets; + files = wofiConfs; }; - } else {}; + }; } #+END_SRC diff --git a/Droidnix/generated/modules/apps/wofi.nix b/Droidnix/generated/modules/apps/wofi.nix index e25d66c17..a0eb4b96a 100644 --- a/Droidnix/generated/modules/apps/wofi.nix +++ b/Droidnix/generated/modules/apps/wofi.nix @@ -3,27 +3,22 @@ let wofiAssets = ../../../assets/system/conf/wofi; wofiFiles = builtins.readDir wofiAssets; - - # Generate attribute set of files wofiConfs = lib.genAttrs (builtins.attrNames wofiFiles) (name: { src = "${wofiAssets}/${name}"; }); - # Module options - enableWofi = true; # or set to false to disable + enableWofi = true; # toggle on/off in { - options = { - enableWofi = lib.mkEnableOption "Enable Wofi terminal launcher"; - }; + options.enableWofi = lib.mkEnableOption "Enable Wofi terminal launcher"; - # Conditional attributes returned directly - wofi = if enableWofi then { - xdg = { - wofi = { - source = wofiAssets; - files = wofiConfs; - }; + # Everything is wrapped safely in config + config = lib.mkIf enableWofi { + # Just symbolic references to files, no pkgs or recursive config + programs.wofi = { + enable = true; + assetsDir = wofiAssets; + files = wofiConfs; }; - } else {}; + }; }