From ad92f87f184497228e2f84c0f5ab1002a0da9ed2 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 13 Feb 2014 15:39:20 -0600 Subject: [PATCH] Add Sublime settings, dotfiles, and Terminal settings. --- README.md | 9 +- apps/sublime.yml | 5 +- main.yml | 2 + preferences/dotfiles.yml | 28 ++++++ preferences/preferences.yml | 8 ++ .../sublime/Default (OSX).sublime-keymap | 4 + .../sublime/Package Control.sublime-settings | 20 ++++ .../sublime/Preferences.sublime-settings | 32 ++++++ templates/terminal/JJG-Term.terminal | 97 +++++++++++++++++++ 9 files changed, 203 insertions(+), 2 deletions(-) create mode 100644 preferences/dotfiles.yml create mode 100644 preferences/preferences.yml create mode 100644 templates/sublime/Default (OSX).sublime-keymap create mode 100644 templates/sublime/Package Control.sublime-settings create mode 100644 templates/sublime/Preferences.sublime-settings create mode 100644 templates/terminal/JJG-Term.terminal diff --git a/README.md b/README.md index 793d44e..6b1d25d 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,18 @@ This is very much a work in progress, and is mostly a means for me to document m **Caveat**: This set of playbooks is not meant to be a great example of Ansible best practices. I just want to wrap my Mac's configuration in Ansible so I can quickly bring up a new development Mac without having to restore from a Time Machine backup. +*See also*: [Battleschool](http://spencer.gibb.us/blog/2014/02/03/introducing-battleschool), which looks like it's aiming to be a more general solution than what I've built here. (It may be a better option if you don't want to fork this repo and hack it for your own workstation...). + ## Installation 1. Clone this repository somewhere. 2. [Install Ansible](https://devopsu.com/guides/ansible-mac-osx.html). 3. Run `ansible-playbook main.yml --ask-sudo-pass`. +## Included Applications / Configuration + +TODO: I will add a list of what's installed and configured by default here... + ## Additions coming soon ### General changes: @@ -25,7 +31,7 @@ This is very much a work in progress, and is mostly a means for me to document m - [MenuMeters](http://www.ragingmenace.com/software/menumeters/) - TextMate 2 - PCKeyboardHack - - My dotfiles + - My [dotfiles](https://github.com/geerlingguy/dotfiles) - TimeMachineEditor - Skype - etc... @@ -43,6 +49,7 @@ This is very much a work in progress, and is mostly a means for me to document m - Disable "show warning before changing extension" - Set default view to column mode - Show hard disks, connected servers on desktop + - Translucent dock icon when app is hidden - etc... ### Apps only available via the App Store diff --git a/apps/sublime.yml b/apps/sublime.yml index 5120674..4809802 100644 --- a/apps/sublime.yml +++ b/apps/sublime.yml @@ -18,4 +18,7 @@ sudo: true - name: Create symlink sublime for Sublime Text's subl command file: src=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl dest=/usr/bin/sublime state=link - sudo: true \ No newline at end of file + sudo: true + + # - name: "Copy settings (example, don't use)." + # shell: cp -r init/Preferences.sublime-settings ~/Library/Application\ Support/Sublime\ Text*/Packages/User/Preferences.sublime-settings 2> /dev/null diff --git a/main.yml b/main.yml index 0f69627..fa46eaf 100644 --- a/main.yml +++ b/main.yml @@ -10,6 +10,8 @@ tasks: - name: Create Ansible downloads directory file: path={{ downloads }} state=directory + - include: preferences/dotfiles.yml + - include: preferences/preferences.yml - include: apps/adium.yml - include: apps/chrome.yml diff --git a/preferences/dotfiles.yml b/preferences/dotfiles.yml new file mode 100644 index 0000000..bd87edc --- /dev/null +++ b/preferences/dotfiles.yml @@ -0,0 +1,28 @@ +--- +# Install Jeff Geerling's dotfiles. +- name: Clone dotfiles repository into temporary location. + git: > + repo=https://github.com/geerlingguy/dotfiles.git + dest=~/Dropbox/Development/GitHub/dotfiles + sudo: no + +- name: Check if .bash_profile is a link. + shell: ls -F ~/.bash_profile + register: is_link + changed_when: false + +- name: Remove current .bash_profile file if necessary. + file: path=~/.bash_profile state=absent + when: "'@' not in is_link.stdout" + +- name: Link dotfiles into home folder. + file: src=~/Dropbox/Development/GitHub/dotfiles/{{ item }} dest=~/{{ item }} state=link + sudo: no + with_items: + - .bash_profile + - .inputrc + - .osx + - .vimrc + +- name: Run .osx dotfiles. + shell: date diff --git a/preferences/preferences.yml b/preferences/preferences.yml new file mode 100644 index 0000000..2e6d3c2 --- /dev/null +++ b/preferences/preferences.yml @@ -0,0 +1,8 @@ +--- +# Preferences. +# TODO: Idempotence, and set it as the default. +# - name: Add Terminal settings. +# shell: open templates/terminal/JJG-Term.terminal + +# TODO: Make these happen. +# git config --global color.ui true diff --git a/templates/sublime/Default (OSX).sublime-keymap b/templates/sublime/Default (OSX).sublime-keymap new file mode 100644 index 0000000..57f84f4 --- /dev/null +++ b/templates/sublime/Default (OSX).sublime-keymap @@ -0,0 +1,4 @@ +[ + { "keys": ["ctrl+d"], "command": "goto_drupalapi" }, + { "keys": ["ctrl+h"], "command": "goto_documentation" } +] diff --git a/templates/sublime/Package Control.sublime-settings b/templates/sublime/Package Control.sublime-settings new file mode 100644 index 0000000..2d37c42 --- /dev/null +++ b/templates/sublime/Package Control.sublime-settings @@ -0,0 +1,20 @@ +{ + "auto_upgrade_last_run": null, + "installed_packages": + [ + "DocBlockr", + "Drupal Snippets", + "FileDiffs", + "Git", + "GitHub Flavored Markdown Preview", + "Goto Documentation", + "Goto Drupal API", + "MarkAndMove", + "Markdown Preview", + "Package Control", + "RegReplace", + "Sass", + "TrailingSpaces", + "WordCount" + ] +} diff --git a/templates/sublime/Preferences.sublime-settings b/templates/sublime/Preferences.sublime-settings new file mode 100644 index 0000000..5363c7f --- /dev/null +++ b/templates/sublime/Preferences.sublime-settings @@ -0,0 +1,32 @@ +{ + "color_scheme": "Packages/Color Scheme - Default/Cobalt.tmTheme", + "font_size": 12.0, + "ignored_packages": + [ + "Vintage" + ], + "rulers": + [ + 80 + ], + "line_numbers": true, + "gutter": true, + "margin": 4, + "fold_buttons": true, + "fade_fold_buttons": true, + "spell_check": false, + "tab_size": 2, + "translate_tabs_to_spaces": true, + "detect_indentation": true, + "auto_indent": true, + "smart_indent": true, + "trim_automatic_white_space": false, + "auto_match_enabled": true, + "draw_minimap_border": false, + "highlight_line": true, + "match_brackets": true, + "match_selection": true, + "draw_white_space": "selection", + "trim_trailing_white_space_on_save": false, + "ensure_newline_at_eof_on_save": false +} diff --git a/templates/terminal/JJG-Term.terminal b/templates/terminal/JJG-Term.terminal new file mode 100644 index 0000000..e4372ba --- /dev/null +++ b/templates/terminal/JJG-Term.terminal @@ -0,0 +1,97 @@ + + + + + ANSIBlackColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECow + LjA3OTMzNTA4ODMyIDAuMDc5MzM1MDg4MzIgMC4wNzkzMzUwODgzMgAQAYAC0hAREhNa + JGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFy + Y2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KPkZOYo6y0t8DS1doAAAAAAAABAQAA + AAAAAAAZAAAAAAAAAAAAAAAAAAAA3A== + + BackgroundAlphaInactive + 0.73865855823863635 + BackgroundBlur + 0.0 + BackgroundBlurInactive + 0.50397283380681823 + BackgroundColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEC8w + LjA3ODcxOTQyOTM1IDAuMDc4NzE5NDI5MzUgMC4wNzg3MTk0MjkzNSAwLjkyABABgALS + EBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3RfEA9OU0tl + eWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYpSWmJ2osbm8xdfa3wAAAAAA + AAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADh + + BackgroundSettingsForInactiveWindows + + CursorColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OV05TV2hpdGVcTlNDb2xvclNwYWNlViRjbGFzc0sw + LjMwMjQxOTM2ABADgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRY + TlNPYmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSFBdZHBy + dHmEjZWYobO2uwAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAAC9 + + Font + + YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QVk5TU2l6ZVhOU2ZGbGFnc1ZOU05hbWVWJGNs + YXNzI0AsAAAAAAAAEBCAAoADWENvbnNvbGFz0hMUFRZaJGNsYXNzbmFtZVgkY2xhc3Nl + c1ZOU0ZvbnSiFRdYTlNPYmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGhtUcm9vdIABCBEa + Iy0yNzxCS1JbYmlydHZ4gYaRmqGkrb/CxwAAAAAAAAEBAAAAAAAAABwAAAAAAAAAAAAA + AAAAAADJ + + FontAntialias + + FontWidthSpacing + 0.99596774193548387 + Linewrap + + ProfileCurrentVersion + 2.02 + SelectionColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OV05TV2hpdGVcTlNDb2xvclNwYWNlViRjbGFzc0sw + LjI1NDAzMjI1ABADgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRY + TlNPYmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSFBdZHBy + dHmEjZWYobO2uwAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAAC9 + + ShowWindowSettingsNameInTitle + + TerminalType + xterm-color + TextBoldColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OV05TV2hpdGVcTlNDb2xvclNwYWNlViRjbGFzc0Ix + ABADgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3Rf + EA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSFBdZGdpa3B7hIyPmKqt + sgAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAAC0 + + TextColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OV05TV2hpdGVcTlNDb2xvclNwYWNlViRjbGFzc0sw + Ljk0NzU4MDY0ABADgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRY + TlNPYmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSFBdZHBy + dHmEjZWYobO2uwAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAAC9 + + UseBrightBold + + columnCount + 120 + name + JJG-Term + rowCount + 30 + shellExitAction + 1 + type + Window Settings + +