{ lib, pkgs, config, ... }: let programName = "zenbrowser"; # Optional: path to any assets (empty here since you don't need config) programAssets = ../../../assets/system/conf/${programName}; programFiles = builtins.readDir programAssets; files = lib.genAttrs (builtins.attrNames programFiles) (name: { src = "${programAssets}/${name}"; }); # Toggle variable referring to the module option enableProgram = config.enableZenBrowser or false; in { # Top-level toggle option for the module options.enableZenBrowser = lib.mkEnableOption "Install Zen Browser"; # Wrap all configuration in mkIf(enable) config = lib.mkIf enableProgram { # mySystem container mySystem = { ${programName} = { enable = true; assetsDir = programAssets; files = files; user = config.defaultUser or "henrov"; }; }; # Install the package system-wide environment.systemPackages = [ pkgs.zen-browser ]; }; }