- We have the manifest. - Define empty actions array. - Loop over the manifest, looking for: - check required variables - hostname, push action - package manager, push action - push action: update package manager - for standard: - create array with formatted package items - Install step: map over with proper handler - Post-install post-install-cmment steps: for_each over executing script - for each over executing the post-install script - with the same context, execute post-install-comment and store output - Post-install-comment: - group standard packages and push action - install casks, push action - install binaries, for each one: push action Steps: - Check required variables - check VAR1: YES - check VAR2: YES - check VAR3: YES - Detect os - Detected - Validated with the one specified on the manifest - Set hostname - Changing hostname to HOSTNAME - Detect pm - Detected - Validated with the one specified on the manifest - Update and upgrade packages with pm - Updated - Install packages - [bulk-standard] - ...apt - completed - [bulk-casks] - ..blabla - completed - [] - Install standard packages - Bulk all packages: install apt pkg1 pkg2 pkg3 - completed - Post-Install standard packages - [pkg1] - echo this and that - completed - [pkg2] - completed - Install gui packages (casks) - Post-Install gui packages - Install binaries - [binary 1] - completed - [binary 2] - completed - Post-Install binary packages