{"id":22100926,"url":"https://github.com/marcinbojko/macbook-devops","last_synced_at":"2026-01-21T02:31:57.131Z","repository":{"id":41456468,"uuid":"450759301","full_name":"marcinbojko/macbook-devops","owner":"marcinbojko","description":"Ansible repository for creating DevOps MacBook","archived":false,"fork":false,"pushed_at":"2025-08-02T20:04:40.000Z","size":172,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-02T21:44:07.812Z","etag":null,"topics":["ansible","ansible-playbook","apple","devops","macbook"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcinbojko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-01-22T08:25:03.000Z","updated_at":"2024-08-15T18:10:08.000Z","dependencies_parsed_at":"2024-03-15T17:25:20.819Z","dependency_job_id":"b35222c8-d99d-4de4-95c2-80c18425414a","html_url":"https://github.com/marcinbojko/macbook-devops","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/marcinbojko/macbook-devops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinbojko%2Fmacbook-devops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinbojko%2Fmacbook-devops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinbojko%2Fmacbook-devops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinbojko%2Fmacbook-devops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcinbojko","download_url":"https://codeload.github.com/marcinbojko/macbook-devops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcinbojko%2Fmacbook-devops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28623249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"online","status_checked_at":"2026-01-21T02:00:08.227Z","response_time":86,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","apple","devops","macbook"],"created_at":"2024-12-01T05:17:23.400Z","updated_at":"2026-01-21T02:31:57.120Z","avatar_url":"https://github.com/marcinbojko.png","language":null,"readme":"# macbook-devops\n\nAnsible repository for creating DevOps MacBook, based on [https://github.com/marcinbojko/linux_mint](https://github.com/marcinbojko/linux_mint)\n\n## Usage\n\n### Architecture\n\nPlaybook introduces separation of amd64 and arm64 architectures based on ansible facts. Due to fact I do not have M1 chip based Mac, it's possible to have some applications existing in only one architecture type.\nIn time, I'll separate them by having dirrerent test. If you have an information about these specific packages belinging to only one of architectures, please let me know\n\n### Enable `ssh` aka `remote access`\n\n![ssh](./images/ssh.png)\n\n### Group vars\n\n```yaml\nansible_user: your_user\nansible_port: 22\nansible_connection: ssh\n```\n\n### Install xcode and accept license\n\n```bash\nsudo xcode-select --install\nsudo xcodebuild -license accept\n```\n\n[https://apps.apple.com/us/app/xcode/id497799835?mt=12](https://apps.apple.com/us/app/xcode/id497799835?mt=12)\n\nor get it from AppStore\n\n### Run playbook (remotely)\n\n```bash\nansible-playbook ./macbook-devops.yaml -i ../macbook.lst -e '{\"sudo_password\": \"your_user_password\"}'\n```\n\n### Run playbook (locally)\n\n```bash\nansible-playbook --connection=local --inventory 127.0.0.1, ./macbook-devops.yaml -e '{\"sudo_password\": \"your_user_password\"}'\n```\n\n### Run playbook locally - extra steps\n\n#### Install Homembrew\n\n```bash\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\n#### Install ansible\n\n```bash\nbrew install ansible\n```\n\n### Variables\n\n#### main playbook\n\n| Variable                  | Descripton                                                | Default |\n| ------------------------- | --------------------------------------------------------- | ------- |\n| delay_time                | how many seconds wait between attempts                    | 3       |\n| install_appstore_packages | Install Appstore Apps                                     | true    |\n| install_aws_tools         | Install aws-cli                                           | true    |\n| install_azure_tools       | Install azure-cli                                         | true    |\n| install_extra_tools       | Install extra (unpack section) tools                      | true    |\n| install_gcloud_tools      | Install google-cloud-sdk                                  | true    |\n| install_alibaba_tools     | Install alibaba-cli                                       | true    |\n| install_npm               | Install npm packages                                      | true    |\n| install_oci_tools         | Install oci-cli                                           | true    |\n| install_osx_defaults      | Change default OSX settings through `osx_defaults` module | true    |\n| install_rosetta           | Install Rosetta 2 package                                 | true    |\n| retries_count             | how many times retry tasks                                | 2       |\n| upgrade_homebrew_packages | Should we upgrade formulae and casks                      | true    |\n| update_homebrew           | Should we install homebrew by itself                      | true    |\n\n#### tasks\n\n| Variable      | Descripton                         | Default        |\n| ------------- | ---------------------------------- | -------------- |\n| bin_path      | where to store executable files    | /usr/local/bin |\n| unpack_folder | where to store downloaded archives | /tmp/macbook   |\n\n## Content\n\n### Formulae\n\n### Casks\n\n### Tasks\n\n#### `download_files`\n\nDownload, unpack and copy executable files from `unpack` section of variables to a folder `bin_path`\n\nexample of downloading kubestr file and putting it into `bin_path`\n\n```yaml\nunpack:\n  - url: https://github.com/kastenhq/kubestr/releases/download/v0.4.31/kubestr_0.4.31_MacOS_amd64.tar.gz\n    url_arm64: https://github.com/kastenhq/kubestr/releases/download/v0.4.31/kubestr_0.4.31_MacOS_arm64.tar.gz\n    destination: kubestr\n    source: kubestr\n    destination_file: kubestr.tar.gz\n    folder:\n```\n\n### AppStore Apps\n\n| Name                     | Description                 | URL                                                                                                                                                              |\n| ------------------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| CopyClip                 | Clipboard Manager           | [https://apps.apple.com/us/app/copyclip-clipboard-history/id595191960?mt=12](https://apps.apple.com/us/app/copyclip-clipboard-history/id595191960?mt=12)         |\n| Microsoft Remote Desktop | RDP                         | [https://apps.apple.com/pl/app/microsoft-remote-desktop/id1295203466?l=pl\u0026mt=12](https://apps.apple.com/pl/app/microsoft-remote-desktop/id1295203466?l=pl\u0026mt=12) |\n| The Unarchiver           | Open any archive in seconds | [https://theunarchiver.com/](https://theunarchiver.com/)                                                                                                         |\n\n### Change OSX defaults\n\nUsing `osx_defaults` module you can set any OSX settings. Remember to relogin afterwards\n\n| Name                         | Key           | Value | Type   | Description                                   |\n| ---------------------------- | ------------- | ----- | ------ | --------------------------------------------- |\n| com.apple.backupd-auto.plist | StartInterval | 14400 | string | Frequency of a TimeMachine backups in seconds |\n\n## ToDO\n\n- ~~add more tools~~\n- ~~add system settings~~\n- add upgrade packages options\n- add custom files allowing you to add or exlude specific packages without modyfing playbook files directly\n- ~~add npm~~\n- ~~add external packages not available through homebrew or AppStore~~\n- ~~add M1 chip files~~\n\n## Known issues\n\nQ: Installation of homebrew casks hangs\nA: `sudo_password` variable is not set or set to improper value\n\nQ: Some applications are failing install on M1 chip (for example: `virtualbox`)\nA: Some applications are still not available for ARM64 architecture, even with Rosetta 2\n\nQ: Ansible hangs on `run_initial_setup_instead_of_gather_facts` step.\nA: Check if you'd accepted xcode license. Check and delete `.ansible` folder in your users home directory. Restart Macbook. Blame Apple.\n\n## Participate\n\nIf you feel there is another package/setting/feature worth mentioning - please contact me. If you'd like to add PR - please add as smallest portions as possible (for example: package after package or feature after feature )\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcinbojko%2Fmacbook-devops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcinbojko%2Fmacbook-devops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcinbojko%2Fmacbook-devops/lists"}