{ lib, ... }: let username = "henrov"; waybarAssets = ../../../assets/system/conf/waybar; waybarFiles = builtins.readDir waybarAssets; waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: { src = "${waybarAssets}/${name}"; }); enableWaybar = true; in { # Declare a top-level option options.myApps = lib.mkOption { type = lib.types.attrsOf lib.types.any; default = {}; description = "Top-level collection of custom apps"; }; options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar"; # Everything goes under config safely config = lib.mkIf enableWaybar { myApps = { waybar = { enable = true; user = username; assetsDir = waybarAssets; files = waybarConfs; }; }; }; }