{"id":13753121,"url":"https://github.com/boochtek/mac_config","last_synced_at":"2026-01-10T15:24:13.649Z","repository":{"id":14601528,"uuid":"17318667","full_name":"boochtek/mac_config","owner":"boochtek","description":"Scripted installation and configuration of Mac OS X apps and preferences","archived":false,"fork":false,"pushed_at":"2025-02-12T06:50:39.000Z","size":620,"stargazers_count":65,"open_issues_count":0,"forks_count":14,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-12T07:51:31.950Z","etag":null,"topics":["ansible","configuration","macos","preferences"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boochtek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-01T16:21:39.000Z","updated_at":"2025-02-12T06:50:42.000Z","dependencies_parsed_at":"2023-01-11T20:22:12.849Z","dependency_job_id":"b75786c7-dbe8-47e8-8512-7d44fbf44537","html_url":"https://github.com/boochtek/mac_config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boochtek%2Fmac_config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boochtek%2Fmac_config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boochtek%2Fmac_config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boochtek%2Fmac_config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boochtek","download_url":"https://codeload.github.com/boochtek/mac_config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253321825,"owners_count":21890473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","configuration","macos","preferences"],"created_at":"2024-08-03T09:01:16.587Z","updated_at":"2026-01-10T15:24:13.598Z","avatar_url":"https://github.com/boochtek.png","language":"Shell","readme":"MacOS Configuration\n====================\n\nThese scripts will configure MacOS the way we want, including:\n\n* Configuring OS preferences\n* Installing applications\n* Configuring applications\n\nThese scripts have existed since at least MacOS 10.9 (Mavericks).\nThey should currently work on macOS 13 (Ventura).\nThey'll be updated for macOS 14 (Sonoma) soon.\n\nThe scripts _should_ all be idempotent.\n(That means that you can run them as many times as you want.)\n\n\n## Usage\n\nFirst, clone the repository:\n\n~~~ shell\ngit clone https://github.com/boochtek/mac_config.git\ncd mac_config\n~~~\n\nNext, edit the config files:\n* inventory_for_mac_serial_number.sh - add your computer to the list\n* appstore_apps_to_install.yml - list of App Store apps to be installed\n\nTheoretically, any of these scripts could be run independently.\n(Except for the `util` directory, which contains shared code imported by other scripts.)\nHowever, there are some (likely not adequately documented) dependencies.\nThis order should work:\n\n~~~ shell\nos/ALL.sh\nhardware/ALL.sh\nshell/ALL.sh\neditors/ALL.sh\nemail/ALL.sh\nweb/ALL.sh\ndev/ALL.sh\n~~~\n\nMany scripts will prompt for your password, as they require `sudo` to install various programs and settings.\nOthers might ask for other passwords, for example your Mac App Store ID and password.\nYou can just hit **Enter** on the Mac App store prompts, if you won't be installing anything from the Mac App Store.\n\nNote that some of the scripts might take a while to run.\nFor example, installing Xcode may take over an hour.\nThe entire set of scripts will take several hours to run;\nmany packages will be downloaded and compiled.\nEven if nothing new needs to be installed, the scripts could take about 8 minutes to run.\n\nNote that some scripts will kill the Terminal.\n\n\n## Manual Steps\n\nSee [MANUAL.md](MANUAL.md) for steps that have not (yet) been automated.\n\n\n## Bash 3.2\n\nKeep in mind that macOS ships with Bash 3.2.\nMacOS will likely never ship with anything newer, due to Apple's dislike of GPLv3.\nSo we can't use any features introduced in Bash 4 or later:\n* Associative arrays\n* Case-modification operators for parameter substitution\n* Globbing with `**` to match recursively\n* Escape codes in strings with `\\u` and `\\U` to represent Unicode characters\n* Negative array indices\n\n\n## TODO: Downloading and Installing MacOS Sonoma\n\ndiskutil list external physical\ndiskutil info -all\n\ndiskutil partitionDisk \u003cdevice\u003e GPT JHFS+ 'Sonoma Installer'\n\n~~~ shell\nsoftwareupdate --fetch-full-installer\nsudo '/Applications/Install macOS Monterey.app/Contents/Resources/createinstallmedia' \\\n  --volume '/Volumes/Sonoma Installer'\n~~~\n","funding_links":[],"categories":["macos"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboochtek%2Fmac_config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboochtek%2Fmac_config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboochtek%2Fmac_config/lists"}