{ config, lib, pkgs, ... }: { options.profiles = lib.mkOption { default = {}; type = lib.types.attrsOf (lib.types.submodule { options = { packages = lib.mkOption { type = lib.types.listOf lib.types.package; default = []; description = ""; }; casks = lib.mkOption { type = lib.types.listOf lib.types.str; default = []; description = ""; }; taps = lib.mkOption { type = lib.types.attrsOf lib.types.unspecified; default = {}; description = ""; }; }; }); }; config = { users.users = config.profiles |> lib.mapAttrs (_: p: { packages = [pkgs.helix] ++ p.packages; }); }; }