mirror of
https://github.com/geerlingguy/mac-dev-playbook
synced 2025-02-16 12:38:28 +00:00
Made huge strides streamlining code and enhancing DRY adherence. I'm making great headway!
This commit is contained in:
parent
fbc67119dc
commit
8c5f1ec042
32 changed files with 118 additions and 59 deletions
|
@ -1,5 +1,8 @@
|
|||
Ansible Playbooks
|
||||
=================
|
||||
|
||||
**The following only applies to some of these playbooks. The majority have been created to provision Mac development machines. Eventually they will be transformed to handle different operating systems and other variables, such as versions.**
|
||||
|
||||
Configure servers in a snap with these concise Ansible playbooks!
|
||||
|
||||
Current Playbooks:
|
||||
|
|
0
alfred/alfred.yaml
Normal file
0
alfred/alfred.yaml
Normal file
0
appcleaner/appcleaner.yaml
Normal file
0
appcleaner/appcleaner.yaml
Normal file
4
applications.yaml
Normal file
4
applications.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
- include: vlc/vlc.yaml
|
||||
- include: transmission/transmission.yaml
|
||||
- include: iterm/iterm.yaml
|
0
brackets/brackets.yaml
Normal file
0
brackets/brackets.yaml
Normal file
0
chrome/chrome.yaml
Normal file
0
chrome/chrome.yaml
Normal file
0
coda/coda.yaml
Normal file
0
coda/coda.yaml
Normal file
0
codekit/codekit.yaml
Normal file
0
codekit/codekit.yaml
Normal file
0
espresso/espresso.yaml
Normal file
0
espresso/espresso.yaml
Normal file
3
file/app.yaml
Normal file
3
file/app.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
- name: Copy $app_name_pretty app to Applications directory
|
||||
command: cp -R $app_name.app /Applications chdir=$downloads
|
13
file/dmg.yaml
Normal file
13
file/dmg.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
- name: Download $app_name_pretty
|
||||
get_url: url=$app_url dest=$downloads/$app_name.dmg
|
||||
- name: Mount $app_name_pretty image
|
||||
command: hdiutil mount $app_name.dmg chdir=$downloads
|
||||
- name: Copy $app_name_pretty app to Applications directory
|
||||
command: cp -R ${mount_path}$app_name.app /Applications
|
||||
when_string: $install_type == 'app'
|
||||
- name: Install $app_name pkg
|
||||
command: sudo installer -package ${mount_path}$app_name.pkg -target $install_target
|
||||
when_string: $install_type == 'pkg'
|
||||
- name: Unmount $app_name_pretty image
|
||||
command: hdiutil unmount $mount_path
|
0
file/lzma.yaml
Normal file
0
file/lzma.yaml
Normal file
2
file/pkg.yaml
Normal file
2
file/pkg.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
- name: Install $app_name pkg
|
||||
command: sudo installer -package $app_name.pkg -target $install_target
|
15
file/tar.yaml
Normal file
15
file/tar.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
- name: Download $app_name_pretty
|
||||
get_url: url=$app_url dest=${downloads}/$app_name.tar
|
||||
- name: Create an extraction directory
|
||||
file: path=${downloads}${app_name}/ state=directory
|
||||
- name: Extract $app_name_pretty tarball
|
||||
command: tar xf $app_name.tar -C $app_name/ chdir=$downloads
|
||||
- name: Copy $app_name_pretty app to Applications directory
|
||||
command: cp -R $app_name/$app_name.app /Applications chdir=$downloads
|
||||
when_string: $install_type == 'app'
|
||||
- name: Install $app_name pkg
|
||||
command: sudo installer -package $app_name/$app_name.pkg -target $install_target chdir=$downloads
|
||||
when_string: $install_type == 'pkg'
|
||||
- name: Remove extraction directory
|
||||
file: path=${downloads}${app_name}/ state=absent
|
15
file/zip.yaml
Normal file
15
file/zip.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
- name: Download $app_name_pretty
|
||||
get_url: url=$app_url dest=${downloads}/$app_name.zip
|
||||
- name: Create an extraction directory
|
||||
file: path=${downloads}${app_name}/ state=directory
|
||||
- name: Extract $app_name_pretty zip archive
|
||||
command: unzip $app_name.zip -d $app_name/ chdir=$downloads
|
||||
- name: Copy $app_name_pretty app to Applications directory
|
||||
command: cp -R $app_name/$app_name.app /Applications chdir=$downloads
|
||||
when_string: $install_type == 'app'
|
||||
- name: Install $app_name pkg
|
||||
command: sudo installer -package $app_name/$app_name.pkg -target $install_target chdir=$downloads
|
||||
when_string: $install_type == 'pkg'
|
||||
- name: Remove extraction directory
|
||||
file: path=${downloads}${app_name}/ state=absent
|
0
firefox/firefox.yaml
Normal file
0
firefox/firefox.yaml
Normal file
15
iterm/iterm.yaml
Normal file
15
iterm/iterm.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
- include: ../local-setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
install_type: app
|
||||
app_name: iTerm
|
||||
app_name_pretty: iTerm
|
||||
app_url: https://copy.com/HTIIPAwoiKVY
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- include: ../file/zip.yaml
|
0
kaleidoscope/kaleidoscope.yaml
Normal file
0
kaleidoscope/kaleidoscope.yaml
Normal file
0
keka/keka.yaml
Normal file
0
keka/keka.yaml
Normal file
|
@ -5,17 +5,11 @@
|
|||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
tar_url: https://downloads.sourceforge.net/project/limechat/limechat/LimeChat_2.34.tbz?use_mirror=master
|
||||
install_type: app
|
||||
app_name: LimeChat
|
||||
app_name_pretty: LimeChat
|
||||
app_url: https://downloads.sourceforge.net/project/limechat/limechat/LimeChat_2.34.tbz?use_mirror=master
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- name: Download LimeChat
|
||||
get_url: url=$tar_url dest=${downloads}/limechat.tar
|
||||
- name: Create an extraction directory
|
||||
file: path=${downloads}limechat/ state=directory
|
||||
- name: Extract LimeChat tarball
|
||||
command: tar xf limechat.tar -C limechat/ chdir=$downloads
|
||||
- name: Copy LimeChat app to Applications directory
|
||||
command: cp -R limechat/LimeChat.app /Applications chdir=$downloads
|
||||
- name: Remove extraction directory
|
||||
file: path=${downloads}limechat/ state=absent
|
||||
- include: ../file/tar.yaml
|
0
opera/opera.yaml
Normal file
0
opera/opera.yaml
Normal file
0
sequel-pro/sequel-pro.yaml
Normal file
0
sequel-pro/sequel-pro.yaml
Normal file
0
slicy/slicy.yaml
Normal file
0
slicy/slicy.yaml
Normal file
16
sourcetree/sourcetree.yaml
Normal file
16
sourcetree/sourcetree.yaml
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
- include: ../local-setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
install_type: app
|
||||
app_name: SourceTree
|
||||
app_name_pretty: SourceTree
|
||||
app_url: https://copy.com/RDxUBW9uhWiQ/SourceTree-1.5.8.dmg?download=1
|
||||
mount_path: /Volumes/SourceTree/
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- include: ../file/dmg.yaml
|
|
@ -5,19 +5,15 @@
|
|||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
dmg_url: http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203021.dmg
|
||||
install_type: app
|
||||
app_name: Sublime\ Text
|
||||
app_name_pretty: Sublime\ Text
|
||||
app_url: http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203021.dmg
|
||||
mount_path: /Volumes/Sublime\ Text/
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- name: Download Sublime Text
|
||||
get_url: url=$dmg_url dest=${downloads}sublime.dmg
|
||||
- name: Mount Sublime Text image
|
||||
command: hdiutil mount sublime.dmg chdir=$downloads
|
||||
- name: Copy Sublime Text app to Applications directory
|
||||
command: cp -R ${mount_path}Sublime\ Text.app /Applications
|
||||
- name: Unmount Sublime Text image
|
||||
command: hdiutil unmount $mount_path
|
||||
- include: ../file/dmg.yaml
|
||||
- name: Create symlink subl for Sublime Text's subl command
|
||||
file: src=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl dest=/usr/bin/subl state=link
|
||||
- name: Create symlink sublime for Sublime Text's subl command
|
||||
|
|
|
@ -5,17 +5,12 @@
|
|||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
dmg_url: http://download.transmissionbt.com/files/Transmission-2.77.dmg
|
||||
install_type: app
|
||||
app_name: Transmission
|
||||
app_name_pretty: Transmission
|
||||
app_url: https://copy.com/jTqaA0JWmTmn/Transmission-2.77.dmg?download=1
|
||||
mount_path: /Volumes/Transmission/
|
||||
application: Transmission
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- name: Download $application
|
||||
get_url: url=$dmg_url dest=${downloads}/$application.dmg
|
||||
- name: Mount $application image
|
||||
command: hdiutil mount $application.dmg chdir=$downloads
|
||||
- name: Copy $application app to Applications directory
|
||||
command: cp -R ${mount_path}$application.app /Applications
|
||||
- name: Unmount $application image
|
||||
command: hdiutil unmount $mount_path
|
||||
- include: ../file/dmg.yaml
|
0
transmit/transmit.yaml
Normal file
0
transmit/transmit.yaml
Normal file
0
tree/tree.yaml
Normal file
0
tree/tree.yaml
Normal file
0
trimenabler/trimenabler.yaml
Normal file
0
trimenabler/trimenabler.yaml
Normal file
|
@ -5,17 +5,13 @@
|
|||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
dmg_url: http://files.vagrantup.com/packages/64e360814c3ad960d810456add977fd4c7d47ce6/Vagrant.dmg
|
||||
mount_path: /Volumes/Vagrant/
|
||||
install_type: pkg
|
||||
install_target: /Volumes/OSX
|
||||
app_name: Vagrant
|
||||
app_name_pretty: Vagrant
|
||||
app_url: http://files.vagrantup.com/packages/64e360814c3ad960d810456add977fd4c7d47ce6/Vagrant.dmg
|
||||
mount_path: /Volumes/Vagrant/
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- name: Download Vagrant
|
||||
get_url: url=$dmg_url dest=${downloads}/vagrant.dmg
|
||||
- name: Mount Vagrant image
|
||||
command: hdiutil mount vagrant.dmg chdir=$downloads
|
||||
- name: Install Vagrant pkg
|
||||
command: sudo installer -package ${mount_path}vagrant.pkg -target $install_target
|
||||
- name: Unmount Vagrant image
|
||||
command: hdiutil unmount $mount_path
|
||||
- include: ../file/dmg.pkg
|
|
@ -5,17 +5,13 @@
|
|||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
dmg_url: http://download.virtualbox.org/virtualbox/4.2.12/VirtualBox-4.2.12-84980-OSX.dmg
|
||||
mount_path: /Volumes/VirtualBox/
|
||||
install_type: pkg
|
||||
install_target: /Volumes/OSX
|
||||
app_name: VirtualBox
|
||||
app_name_pretty: VirtualBox
|
||||
app_url: http://download.virtualbox.org/virtualbox/4.2.12/VirtualBox-4.2.12-84980-OSX.dmg
|
||||
mount_path: /Volumes/VirtualBox/
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- name: Download VirtualBox
|
||||
get_url: url=$dmg_url dest=${downloads}/virtualbox.dmg
|
||||
- name: Mount VirtualBox image
|
||||
command: hdiutil mount virtualbox.dmg chdir=$downloads
|
||||
- name: Install VirtualBox pkg
|
||||
command: sudo installer -package ${mount_path}VirtualBox.pkg -target $install_target
|
||||
- name: Unmount VirtualBox image
|
||||
command: hdiutil unmount $mount_path
|
||||
- include: ../file/dmg.yaml
|
14
vlc/vlc.yaml
14
vlc/vlc.yaml
|
@ -5,16 +5,12 @@
|
|||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
dmg_url: http://get.videolan.org/vlc/2.0.6/macosx/vlc-2.0.6.dmg
|
||||
install_type: app
|
||||
app_name: VLC
|
||||
app_name_pretty: VLC
|
||||
app_url: https://copy.com/8WKZ3x1ZWOIC/VLC-2.0.6.dmg?download=1
|
||||
mount_path: /Volumes/vlc-2.0.6/
|
||||
vars_files:
|
||||
- ../local-setup-vars.yaml
|
||||
tasks:
|
||||
- name: Download VLC
|
||||
get_url: url=$dmg_url dest=${downloads}/vlc.dmg
|
||||
- name: Mount VLC image
|
||||
command: hdiutil mount vlc.dmg chdir=$downloads
|
||||
- name: Copy VLC app to Applications directory
|
||||
command: cp -R ${mount_path}VLC.app /Applications
|
||||
- name: Unmount VLC image
|
||||
command: hdiutil unmount $mount_path
|
||||
- include: ../file/dmg.yaml
|
Loading…
Add table
Reference in a new issue