Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/macsible/macsible
Provision your Mac with Ansible
https://github.com/macsible/macsible
ansible macos macsible
Last synced: 3 months ago
JSON representation
Provision your Mac with Ansible
- Host: GitHub
- URL: https://github.com/macsible/macsible
- Owner: macsible
- Created: 2016-02-19T15:53:38.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-11-05T12:20:37.000Z (about 6 years ago)
- Last Synced: 2024-07-21T07:31:55.549Z (4 months ago)
- Topics: ansible, macos, macsible
- Language: Shell
- Homepage:
- Size: 324 KB
- Stars: 13
- Watchers: 2
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Macsible
[![Build Status](https://travis-ci.org/macsible/macsible.svg?branch=master)](https://travis-ci.org/macsible/macsible)
### Requirements
Ensure the following requirements are already installed and working on your local system:
- macOS 10.13 ([help](https://support.apple.com/en-us/HT201372)).
- Command Line Developer Tools ([help](docs/install_command_line_developer_tools.md)).
- Ansible >= 2.4 ([help](docs/install_ansible.md)).## Forking and customisation overview
1. Fork the repository at [https://github.com/macsible/macsible](https://github.com/macsible/macsible).
2. Clone the fork to your local system (this is now the repository you will use to store your own customisations).
3. Navigate to the local clone using your terminal app of choice.
4. Follow the usage instructions below.
5. Commit and push any customisations to your local clone back upstream to your fork.You can see a working example of a forked and customised repository at [https://github.com/danbohea/macsible](https://github.com/danbohea/macsible).
## Usage
### Create required additional files
You'll need to create some additional required files before you begin your customisations. A script has been included to automate this:
```sh
bash scripts/copy_starter_files.sh
```This will create the following files (copied from the `starter_files` directory):
```
.
├── ansible.cfg
└── custom
├── config.local.yml
├── config.yml
├── inventory.yml
├── mac.yml
└── requirements.yml
```### Download externally sourced roles
Remotely sourced Ansible roles can be specified in `custom/requirements.yml`. Before running the playbook you'll need to download any Ansible roles specified here by running the following command:
```sh
ansible-galaxy install -r custom/requirements.yml --force
```Roles downloaded in this way will be placed in `custom/roles/external`. If you wish to create any roles within this repository you can do so in `custom/roles/internal`.
### Configure
Default variables can be overridden in `custom/config.yml`.
`custom/config.local.yml` can be used to override `custom/config.yml` which can be useful when you need to use different values for just a few variables on a specific system. By default `custom/config.local.yml` is ignored by git.
### Run the Ansible playbook
The primary Ansible playbook file is `macsible.yml` and can be run using the following command (asks for sudo password):
```sh
ansible-playbook macsible.yml -K
```To run only certain tags (e.g. `firefox` and `dev_apps`):
```sh
ansible-playbook macsible.yml -K -t "firefox,dev_apps"
```