https://github.com/professormanhattan/packer-macos-desktop
An automated macOS Monterey Desktop Packer project that builds boxes using the latest Monterey sources
https://github.com/professormanhattan/packer-macos-desktop
accelerated compressed desktop kvm macos-desktop mblabs megabytelabs optimized packer parallels professormanhattan qemu virtualbox vmware washingtondc workstation
Last synced: about 1 month ago
JSON representation
An automated macOS Monterey Desktop Packer project that builds boxes using the latest Monterey sources
- Host: GitHub
- URL: https://github.com/professormanhattan/packer-macos-desktop
- Owner: ProfessorManhattan
- License: other
- Created: 2022-04-11T12:11:49.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T13:05:48.000Z (about 2 years ago)
- Last Synced: 2025-01-30T20:42:37.426Z (3 months ago)
- Topics: accelerated, compressed, desktop, kvm, macos-desktop, mblabs, megabytelabs, optimized, packer, parallels, professormanhattan, qemu, virtualbox, vmware, washingtondc, workstation
- Language: Shell
- Homepage: https://megabyte.space
- Size: 12.7 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
- Codeowners: docs/CODEOWNERS
Awesome Lists containing this project
README
>
**An automated macOS Monterey Desktop Packer project that builds boxes using the latest Monterey sources**
## Table of Contents
- [Overview](#overview)
- [Supported Virtualization Platforms](#supported-virtualization-platforms)
- [Requirements](#requirements)
- [Quick Start](#quick-start)
- [Creating Your Own Box](#creating-your-own-box)
- [Updating Your Box](#updating-your-box)
- [Contributing](#contributing)
- [Affiliates](#affiliates)
- [License](#license)## Overview
This project is home to the configurations necessary to build VM images for [macOS Monterey Desktop](https://www.apple.com/macos/monterey/). Building images for macOS is tricky so consider this project **experimental**. Most of [our other Packer projects](https://gitlab.com/megabyte-labs/packer) support a wide variety of virtualization platforms. However, for this project, we only aim to support [VirtualBox](https://github.com/installdoc/ansible-virtualbox) and [VMWare](https://github.com/installdoc/ansible-vmware).
This project:
- Currently builds a minimal macOS 11.0.0 (Monterey) VM image by default
- May contain multiple templates which will all end in `template.json` and be present in the root of the project
- Automates the process of keeping our [macOS 11.0.0 (Monterey) VM images](https://app.vagrantup.com/Megabyte/boxes/macOS-Desktop) up-to-date with the latest upstream source by (1) using the `vagrant-cloud` post-processor to automatically upload the box after it is built and (2) running the build with a cronjob
- In some cases, [LatestOS](https://pypi.org/project/latestos/) is used to automatically update the link to the base image / checksums to the latest release### Supported Virtualization Platforms
This project supports creating boxes for the following virtualization platforms:
- [Parallels](https://gitlab.com/megabyte-labs/ansible-roles/parallels)
- [VirtualBox](https://gitlab.com/megabyte-labs/ansible-roles/virtualbox)
- [VMWare](https://gitlab.com/megabyte-labs/ansible-roles/vmware)## Requirements
- At least one of the above virtualization platforms installed ([VirtualBox](https://github.com/megabyte-labs/ansible-virtualbox) is a good starting point if you do not already have one of the platforms installed)
- [Packer](https://github.com/megabyte-labs/ansible-packer)
- [Vagrant](https://github.com/megabyte-labs/ansible-vagrant)## Quick Start
If you have [VirtualBox](https://github.com/megabyte-labs/ansible-virtualbox) and [Vagrant](https://github.com/megabyte-labs/ansible-vagrant) installed, you can quickly spin up the finished product of this repository by running the following code in the root directory of this repository:
```shell
vagrant up
```The default username and password are both _vagrant_.
## Creating Your Own Box
You can quickly use this project to create your own minimal macOS 11.0.0 (Monterey) box by:
1. Creating a box on VagrantUp titled macOS-Desktop (Note: The VagrantUp box name should match the `"box_basename"` in the `template.json` file.)
2. Changing the `"vagrantup_user"` variable in `template.json` to your VagrantUp username
3. Acquiring a VagrantUp API token from the settings page
4. Running the following code```shell
bash start.sh # Ensures Bodega is installed
export VAGRANT_CLOUD_TOKEN=YourTokenHere
task packer:build
```_[What is Bodega?](https://github.com/ProfessorManhattan/Bodega)_
After running the code above, you will kick off a parallelized build for all the virtualization platforms that your computer currently has installed. If you want to install all of the virtualization platforms that your computer could potentially support then you can run `task packer:install:platforms`.
After building the VM images, the example above will upload your images to your VagrantUp box repository _(that you have to create before running the script that is above)_. If you want to build the box for another provider then look at the `template.json` in the `"builders"` section for the types of boxes you can create (e.g. `virtualbox-iso`, `vmware-iso`, `parallels-iso`, `qemu`).
If you do not want your box to be automatically uploaded to VagrantUp after you build it with Packer then you will need to remove the `"vagrant-cloud"` section under `"post-processors"`. The section is wrapped in a nested array. If you are removing the `vagrant-cloud` post-processor, then the section no longer has to be placed in a nested array.
## Updating Your Box
If a new release of the macOS 11.0.0 (Monterey) system is available, you can update your VagrantUp box. You can do this by changing the `"iso_checksum_url"`, `"iso_url"`, and `"iso_version"` variables in the `template.json` file. After that, run `packer build -only=virtualbox-iso template.json` to build the image again.
## Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/megabyte-labs/packer-macos-desktop/issues). If you would like to contribute, please take a look at the [contributing guide](https://github.com/megabyte-labs/packer-macos-desktop/blob/master/docs/CONTRIBUTING.md).
Sponsorship
Dear Awesome Person,
I create open source projects out of love. Although I have a job, shelter, and as much fast food as I can handle, it would still be pretty cool to be appreciated by the community for something I have spent a lot of time and money on. Please consider sponsoring me! Who knows? Maybe I will be able to quit my job and publish open source full time.
Sincerely,
**_Brian Zalewski_**
### Affiliates
Below you will find a list of services we leverage that offer special incentives for signing up for their services through our special links:
## License
Copyright © 2020-2021 [Megabyte LLC](https://megabyte.space). This project is [MIT](https://gitlab.com/megabyte-labs/packer/macos-desktop/-/blob/master/LICENSE) licensed.