{"id":25536286,"url":"https://github.com/bhdicaire/macsetup","last_synced_at":"2025-04-11T14:43:59.015Z","repository":{"id":152703562,"uuid":"103318302","full_name":"bhdicaire/macSetup","owner":"bhdicaire","description":"🔧 Ansible code to build my Mac from scratch","archived":false,"fork":false,"pushed_at":"2024-02-07T00:52:42.000Z","size":9792,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T16:35:35.955Z","etag":null,"topics":["ansible","ansible-playbook","ansible-role","homebrew","mac-setup","macos","secure","setup"],"latest_commit_sha":null,"homepage":"","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/bhdicaire.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":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-09-12T20:38:37.000Z","updated_at":"2025-01-11T18:48:41.000Z","dependencies_parsed_at":"2023-10-13T12:31:38.759Z","dependency_job_id":"547af332-77c2-4ea3-b2b9-0d3a435b688f","html_url":"https://github.com/bhdicaire/macSetup","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/bhdicaire%2FmacSetup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhdicaire%2FmacSetup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhdicaire%2FmacSetup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhdicaire%2FmacSetup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhdicaire","download_url":"https://codeload.github.com/bhdicaire/macSetup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248420649,"owners_count":21100441,"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","ansible-playbook","ansible-role","homebrew","mac-setup","macos","secure","setup"],"created_at":"2025-02-20T04:31:40.974Z","updated_at":"2025-04-11T14:43:58.980Z","avatar_url":"https://github.com/bhdicaire.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![macSetup logo](https://github.com/bhdicaire/macSetup/raw/master/doc/logo.png)\n\nYou’ve been there too — setting up a new computer can be an ad-hoc, manual, and time-consuming process.\n\nI wasn't happy with any of the automated setup that I came across. They were either overly complex or were missing features that I really wanted.\n\nMy objective is to fully automate macOS installation and configuration using Ansible. Lots of stuff in here you probably don't need, and some that needs personalization for your system ... So feel free to fork, and customize.\n\n## What problem does it solve and why is it useful?\n\nSetup a Mac up with everything configured properly with easy-to-understand instructions that automate the installation and configuration from the [bare metal](https://github.com/bhdicaire/macSetup/blob/master/doc/bareMetal.md).\n\n### Modules\nI have currently implemented the following modules:\n\n\u003cdetails\u003e\n\u003csummary\u003eSoftware installation\u003c/summary\u003e\n\n This is being accomplish with the use of [homebrew](https://github.com/Homebrew/homebrew), [homebrew-cask](https://github.com/caskroom/homebrew-cask), and the Mac Apple Store CLI [(MAS)](https://github.com/mas-cli/mas).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eConfiguration Files \u0026 Symlinks\u003c/summary\u003e\nAny files and folders that are to be copied or symlinked, including app settings, licenses and dotfiles.\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eDock Configuration\u003c/summary\u003e\nAutomatic building of the Dock using [dockutil](https://github.com/kcrawford/dockutil).\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eDefault Apps\u003c/summary\u003e\nFile associations for various applications using [duti](https://github.com/moretension/duti).\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eStartup Setup\u003c/summary\u003e\nEnsures that the required items start on startup using [loginitems](https://github.com/OJFord/loginitems).\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eTerminal Customisatio\u003c/summary\u003e\nSetting up the Terminal using JXA.\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eOS X default\u003c/summary\u003e\n\n[Apple Defaults](https://developer.apple.com/documentation/corefoundation/preferences_utilities)\n* **macOS \u0026 Software Defaults**: Updating of plist properties for various\n  aspects of macOS and software configuration.  This uses a custom plist module\n  which allows for complex updates of plist files far beyond the defaults\n  command.  The plist module is a modified version of\n  [Matthias Neugebauer's plist module](https://github.com/mtneug/ansible-modules-plist).\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDeveloper tools\u003c/summary\u003e\n\nVim, bash, tab completion, curl, git, GNU core utils, Python, Ruby, etc\nDeveloper apps: iTerm2, Sublime Text, Atom, VirtualBox, Vagrant, Docker, Chrome, etc\nNode.js, JSHint, and Less\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCloud services\u003c/summary\u003e\n\nAmazon Web Services (Boto, AWS CLI, S3cmd,\nAzure\n\u003c/details\u003e\n\n---\n## Install\n\nThe various configuration files are tested on OS X High Sierra (10.13). Older operating system versions may work — your mileage may vary, so download, review, and then execute the scripts.\n\n### Step 0: Prepare your computer\nRefer to my [guide](https://github.com/bhdicaire/macSetup/blob/master/prepare.md) for this important step.\n **You need to login in the app**\n\n#### Software Deactivation\n\nThe following software should be deactivated before re-installing macOS:\n* TBD !\n### Step 1: Fetch the bootstrap script\nOpen the terminal window:\nInstall git\n```\n$ git clone https://github.com/\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/bhdicaire/macSetup/master/install.sh)\"```\n\n### Step 2: Run the bootstrap\nDownload, *review*, then execute the script:\n\n### Step 3: Reboot your computer\n\nIt is strongly suggested that you reboot your Mac after the first run\nof this tool.\n\nAnswer a couple of questions ...\n\nRun the playbook a second time, to get the configurations.\n\n### Step 4: Go get a cup of coffee because you're NOT done\n\nI prefer an espresso myself. Vodka is also fine.\n\nThe following tasks must be performed manually as I have yet to find a way to\nautomate them:\n- [ ] Microsoft Office 2016\n- [ ] App Store - restore In-App Purchases for Marked2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhdicaire%2Fmacsetup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhdicaire%2Fmacsetup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhdicaire%2Fmacsetup/lists"}