{ lib, ... }: 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}"; }); in { # Option to enable Wofi options.enableWofi = lib.mkEnableOption "Enable Wofi terminal launcher"; # Config applied when module is enabled config = lib.mkIf (config.enableWofi) { # Symbolic references to configuration files environment.etc."xdg/wofi".source = wofiAssets; environment.etc."xdg/wofi".files = wofiConfs; }; }