Setup all the things on your workstation with Ansible.
Warning: this project is currently in alpha state.
The targeted Operating Systems are currently:
- Debian / Ubuntu / Linux Mint Linux distributions (mainly based on apt/ppa packaging, but also on Linuxbrew. Currently focused on Ubuntu 14.04 generation.
- Mac OS X 10.10+ (mainly based on Homebrew and Homebrew Cask packages)
Possible Future Targets
Pending on dispansible community size and interests
- Arch Linux
- Korora Linux a nice looking Fedora-based distribution with goals similar to Linux Mint.
- Redox OS a Unix-like Operating System written in Rust
- Open/Free/Net BSD
This project initially began as a fork of https://github.com/spencergibb/ansible-osx, but my approach rapidly diverged from battleschool design. During this alpha/beta development phase, I don't aim at keeping this project merge-compatible with
battleschool, but I'm keeping this topic in mind, and would love to discuss it further.
- Ansible 1.8+
- The additional module
mac_pkgis taken from Spencer Gibb's battleschool
- Some Ansible core modules are overridden (which implies to use most recent version of Ansible):
About the name
dispansible aims at brings you more available time for doing amazing things, but of course this tool is not indispensable, as you can always install your software manually. Mmmh, really?
- dispensible: obsolete adjective, alternative form of dispensable
- Able to be done without; able to be expended; easily replaced.
- Capable of being dispensed; distributable.
- Designed to be disposed of after use
- Free for use; available
dispansible approach follows the design principles of ansible (software):
- Minimal in nature. Manage your software installations should not impose additional dependencies on the environment. See the Dependencies Section above.
- Highly reliable. The ansible idempotent resource model is applied to prevent side-effects from re-running scripts.
- Low learning curve.
Quoting Mitchell Hashimoto in his Book "Vagrant: Up and Running":
Vagrant lowers development environment setup time, increases development/production parity, and brings the idea of disposable compute resources down to the desktop.
Let's say that
dispansible aims at lowers workstation setup time, increases operating systems parity, and brings the idea of disposable computing down to personal computer setup (but please don't get me wrong: don't throw your hardware, too frequently at least).
WARNING: During alpha phase the configuration file names and locations are unstable and this documentation might not be up to date.
- Clone via
gitor Download as tarball this repository (or your own fork)
- Install Ansible (latest release is usually recommended). You can use one of the
bootsrap_<platform>scripts in the
scriptsdirectory for that purpose.
- Optionally update the following configuration files:
- Enjoy a drink (while keeping an eye on your screen, since the sudo password could be prompted during the setup procedure)
Install everything that is enabled in
Install specific software:
upcoming... (including a possible name change)
- Boxen (based on Puppet)
- Kitchenplan (based on Chef)
- battleschool (also based on Ansible and mainly focused on Mac support)
- OSXC is a configuration tool for Mac OS X, also based on Ansible
- The Munki Project is home to several projects that are focused on improving the experience of managing OS X for both the admin and the end user.