Code Monkey home page Code Monkey logo

ansible-osx-setup's Introduction

MacOS Setup with Ansible

This repository contains an Ansible configuration for setting up a Mac from scratch. It's primary purpose is setting up a new Mac from scratch, but I endeavor to also use it for adding new software as I go so that it remains up to date. At the moment it's being used for setting up M1 based Macs running MacOS Monterey.

Getting Started

There's a simple shell script in bin/bootstrap which will perform the initial steps of:

  1. Installing Xcode
  2. Installing Ansible
  3. Fetching required Ansible roles and collections

And then runs the main playbook ansible_osx.yml.

For future updates, bin/apply can be used to run just the Ansible playbook without the setup commands.

It's important to note that this isn't designed to be particularly robust, particularly when it comes to required env vars, it may be required to run this. Then close the terminal and open it again and re-run and then repeat this process a few times.

What's installed

The easiest way to understand what's installed is to read the contents of ansible_osx.yml, this configuration is fairly specific to the range of development I do personally, but may serve as a useful starting point for others. The core components are:

  • ZSH + Oh My Zsh as the primary shell
  • Homebrew for package management
  • ASDF for version management (along with plugins and default versions for ruby, python, javascript, elixir and erlang)
  • Virtualbox, Vagrant and Docker
  • VSCode + default plugins and configuration
  • A selection of Android SDK's
  • Lots of other tools and utilities

Customising

Everything can be customised by editing ansible_osx.yml.

ansible-osx-setup's People

Contributors

talkingquickly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.