From 3376c1ae1f83297d4af82920055b94bccf926d37 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Wed, 7 Oct 2020 10:24:40 -0500 Subject: [PATCH] Fixes #85: Make it easier to use this playbook to manage remote Macs. --- README.md | 26 +++++++++++++++++--------- inventory | 4 ++-- main.yml | 1 - 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index eba1a2b..79f7ccf 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This playbook installs and configures most of the software I use on my Mac for web and software development. Some things in macOS are slightly difficult to automate, so I still have some manual installation steps, but at least it's all documented here. -This is a work in progress, and is mostly a means for me to document my current Mac's setup. I'll be evolving this set of playbooks over time. +This is a work in progress, and is mostly a means for me to document my current Mac's setup. I'll be evolving this playbook over time. *See also*: @@ -21,10 +21,25 @@ This is a work in progress, and is mostly a means for me to document my current 2. [Install Ansible](http://docs.ansible.com/intro_installation.html). 3. Clone this repository to your local drive. 4. Run `$ ansible-galaxy install -r requirements.yml` inside this directory to install required Ansible roles. - 5. Run `ansible-playbook main.yml -i inventory -K` inside this directory. Enter your account password when prompted. + 5. Run `ansible-playbook main.yml -i inventory --ask-become-pass` inside this directory. Enter your account password when prompted. > Note: If some Homebrew commands fail, you might need to agree to Xcode's license or fix some other Brew issue. Run `brew doctor` to see if this is the case. +### Use with a remote Mac + +You can use this playbook to manage other Macs as well; the playbook doesn't even need to be run from a Mac at all! If you want to manage a remote Mac, either another Mac on your network, or a hosted Mac like the ones from [MacStadium](https://www.macstadium.com), you just need to make sure you can connect to it with SSH: + + 1. (On the Mac you want to connect to:) Go to System Preferences > Sharing. + 2. Enable 'Remote Login'. + +Then edit the `inventory` file in this repository and change the line that starts with `127.0.0.1` to: + +``` +[ip address or hostname of mac] ansible_user=[mac ssh username] +``` + +If you need to supply an SSH password (if you don't use SSH keys), make sure to pass the `--ask-pass` parameter to the `ansible-playbook` command. + ### Running a specific set of tagged tasks You can filter which part of the provisioning process to run by specifying a set of tags using `ansible-playbook`'s `--tags` flag. The tags available are `dotfiles`, `homebrew`, `mas`, `extra-packages` and `osx`. @@ -133,13 +148,6 @@ It's my hope that I can get the rest of these things wrapped up into Ansible pla 6. Set mouse tracking rate. 7. Configure extra Mail and/or Calendar accounts (e.g. Google, Exchange, etc.). -### Applications/packages to be added: - -These are mostly direct download links, some are more difficult to install because of custom installers or other nonstandard install quirks: - - - [iShowU HD](http://www.shinywhitebox.com/downloads/iShowU_HD_2.3.20.dmg) - - [Adobe Creative Cloud](http://www.adobe.com/creativecloud.html) - ### Configuration to be added: - I have vim configuration in the repo, but I still need to add the actual installation: diff --git a/inventory b/inventory index 0dd74f1..5b72010 100644 --- a/inventory +++ b/inventory @@ -1,2 +1,2 @@ -[localhost] -127.0.0.1 +[all] +127.0.0.1 ansible_connection=local diff --git a/main.yml b/main.yml index 12ef55e..8cfc56f 100644 --- a/main.yml +++ b/main.yml @@ -1,6 +1,5 @@ --- - hosts: all - connection: local vars_files: - default.config.yml