Automate Sublime Text configuration (#117)

* sublime text 3

* renamed variable

* sublime text 3

* Update default.config.yml

* PR #110: Update Sublime Text automation so it's a little simpler to configure.

* A couple cosmetic touchups.

* Add Sublime Markdown configuration and fix Package Control install.

* Add a few more Sublime preference files to make the editor work like I like it.

* More Sublime Text automation.

* Saner default for those who don't use Sublime.

* Add remaining tweaks to get Playbook idempotent with Sublime Text.

Co-authored-by: dspolleke <dspolleke@gmail.com>
This commit is contained in:
Jeff Geerling 2021-05-28 23:13:06 -05:00 committed by GitHub
parent 5198a55347
commit 254d657147
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 1116 additions and 126 deletions

View file

@ -28,7 +28,7 @@ This is a work in progress, and is mostly a means for me to document my current
2. Source the new profile: `source ~/.zshrc`
3. Install Ansible: `pip3 install ansible`
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 --ask-become-pass` inside this directory. Enter your account password when prompted.
@ -66,40 +66,42 @@ Not everyone's development environment and preferred software configuration is t
You can override any of the defaults configured in `default.config.yml` by creating a `config.yml` file and setting the overrides in that file. For example, you can customize the installed packages and apps with something like:
homebrew_installed_packages:
- cowsay
- git
- go
mas_installed_apps:
- { id: 443987910, name: "1Password" }
- { id: 498486288, name: "Quick Resizer" }
- { id: 557168941, name: "Tweetbot" }
- { id: 497799835, name: "Xcode" }
composer_packages:
- name: hirak/prestissimo
- name: drush/drush
version: '^8.1'
gem_packages:
- name: bundler
state: latest
npm_packages:
- name: webpack
pip_packages:
- name: mkdocs
configure_dock: true
dockitems_remove:
- Launchpad
- TV
dockitems_persist:
- name: "Sublime Text"
path: "/Applications/Sublime Text.app/"
pos: 5
```yaml
homebrew_installed_packages:
- cowsay
- git
- go
mas_installed_apps:
- { id: 443987910, name: "1Password" }
- { id: 498486288, name: "Quick Resizer" }
- { id: 557168941, name: "Tweetbot" }
- { id: 497799835, name: "Xcode" }
composer_packages:
- name: hirak/prestissimo
- name: drush/drush
version: '^8.1'
gem_packages:
- name: bundler
state: latest
npm_packages:
- name: webpack
pip_packages:
- name: mkdocs
configure_dock: true
dockitems_remove:
- Launchpad
- TV
dockitems_persist:
- name: "Sublime Text"
path: "/Applications/Sublime Text.app/"
pos: 5
```
Any variable can be overridden in `config.yml`; see the supporting roles' documentation for a complete list of available variables.
@ -162,11 +164,12 @@ Finally, there are a few other preferences and settings added on for various app
It's my hope that I can get the rest of these things wrapped up into Ansible playbooks soon, but for now, these steps need to be completed manually (assuming you already have Xcode and Ansible installed, and have run this playbook).
1. Install [Sublime Package Manager](http://sublime.wbond.net/installation).
2. Remap Caps Lock to Escape (requires macOS Sierra 10.12.1+).
3. Set trackpad tracking rate.
4. Set mouse tracking rate.
5. Configure extra Mail and/or Calendar accounts (e.g. Google, Exchange, etc.).
1. Set JJG-Term as the default Terminal theme (it's installed, but not set as default automatically).
3. Install all the apps that aren't yet in this setup (see below).
4. Remap Caps Lock to Escape (requires macOS Sierra 10.12.1+).
5. Set trackpad tracking rate.
6. Set mouse tracking rate.
7. Configure extra Mail and/or Calendar accounts (e.g. Google, Exchange, etc.).
### Configuration to be added:
@ -192,7 +195,7 @@ Check out [Ansible for DevOps](https://www.ansiblefordevops.com/), which teaches
## Author
[Jeff Geerling](https://www.jeffgeerling.com/), 2014 (originally inspired by [MWGriffin/ansible-playbooks](https://github.com/MWGriffin/ansible-playbooks)).
This project was created by [Jeff Geerling](https://www.jeffgeerling.com/) (originally inspired by [MWGriffin/ansible-playbooks](https://github.com/MWGriffin/ansible-playbooks)).
[badge-gh-actions]: https://github.com/geerlingguy/mac-dev-playbook/workflows/CI/badge.svg?event=push
[link-gh-actions]: https://github.com/geerlingguy/mac-dev-playbook/actions?query=workflow%3ACI

View file

@ -109,5 +109,23 @@ pip_packages: []
# state: present # present/absent/latest, default: present
# version: "0.16.3" # default: N/A
# Set to 'true' to configure Sublime Text.
configure_sublime: false
sublime_base_path: '~/Library/Application Support/Sublime Text'
sublime_config_path: "Packages/User"
sublime_package_control:
- "DocBlockr"
- "Dockerfile Syntax Highlighting"
- "FileDiffs"
- "GitHub Flavored Markdown Preview"
- "Jinja2"
- "Package Control"
- "PHP-Twig"
- "Pretty JSON"
- "SublimeLinter"
- "SublimeLinter-contrib-yamllint"
- "TrailingSpaces"
- "WordCount"
# Glob pattern to ansible task files to run after all other tasks are finished.
post_provision_tasks: []

View file

@ -0,0 +1,589 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>comment</key>
<string>Created by Jacob Rus. Based on Slate by Wilson Miner</string>
<key>author</key>
<string>Jacob Rus</string>
<key>name</key>
<string>Cobalt</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#002240</string>
<key>caret</key>
<string>#FFFFFF</string>
<key>foreground</key>
<string>#FFFFFF</string>
<key>invisibles</key>
<string>#FFFFFF26</string>
<key>lineHighlight</key>
<string>#00000059</string>
<key>selection</key>
<string>#B36539BF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation</string>
<key>scope</key>
<string>punctuation - (punctuation.definition.string || punctuation.definition.comment)</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#E1EFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Constant</string>
<key>scope</key>
<string>constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FF628C</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Entity</string>
<key>scope</key>
<string>entity</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FFDD00</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FF9D00</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FFEE80</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string -string.unquoted.old-plist -string.unquoted.heredoc, string.unquoted.heredoc string</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#3AD900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#0088FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Support</string>
<key>scope</key>
<string>support</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#80FFBB</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#CCCCCC</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Lang Variable</string>
<key>scope</key>
<string>variable.language</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FF80E1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function Call</string>
<key>scope</key>
<string>meta.function-call</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFEE80</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#800F00</string>
<key>foreground</key>
<string>#F8F8F8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Embedded Source</string>
<key>scope</key>
<string>text source, string.unquoted.heredoc, source source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#223545</string>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Entity inherited-class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#80FCFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String embedded-source</string>
<key>scope</key>
<string>string.quoted source</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#9EFF80</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String constant</string>
<key>scope</key>
<string>string constant</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#80FF82</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String.regexp</string>
<key>scope</key>
<string>string.regexp</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#80FFC2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String variable</string>
<key>scope</key>
<string>string variable</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#EDEF7D</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Support.function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#FFB054</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Support.constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#EB939A</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Exception</string>
<key>scope</key>
<string>support.type.exception</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF1E00</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>C/C++ Preprocessor Line</string>
<key>scope</key>
<string>meta.preprocessor.c</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#8996A8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>C/C++ Preprocessor Directive</string>
<key>scope</key>
<string>meta.preprocessor.c keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AFC4DB</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Doctype/XML Processing</string>
<key>scope</key>
<string>meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#73817D</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Meta.tag.A</string>
<key>scope</key>
<string>meta.tag, meta.tag entity</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#9EFFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css tag-name</string>
<key>scope</key>
<string>meta.selector.css entity.name.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#9EFFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css#id</string>
<key>scope</key>
<string>meta.selector.css entity.other.attribute-name.id</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFB454</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css.class</string>
<key>scope</key>
<string>meta.selector.css entity.other.attribute-name.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5FE461</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css property-name:</string>
<key>scope</key>
<string>support.type.property-name.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#9DF39F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css property-value;</string>
<key>scope</key>
<string>meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F6F080</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css @at-rule</string>
<key>scope</key>
<string>meta.preprocessor.at-rule keyword.control.at-rule</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F6AA11</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css additional-constants</string>
<key>scope</key>
<string>meta.property-value support.constant.named-color.css, meta.property-value constant</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#EDF080</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>css constructor.argument</string>
<key>scope</key>
<string>meta.constructor.argument.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#EB939A</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.header</string>
<key>scope</key>
<string>meta.diff, meta.diff.header</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#000E1A</string>
<key>fontStyle</key>
<string />
<key>foreground</key>
<string>#F8F8F8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.deleted</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#4C0900</string>
<key>foreground</key>
<string>#F8F8F8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#806F00</string>
<key>foreground</key>
<string>#F8F8F8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.inserted</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#154F00</string>
<key>foreground</key>
<string>#F8F8F8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Raw Markup</string>
<key>scope</key>
<string>markup.raw</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#8FDDF630</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Block Quote</string>
<key>scope</key>
<string>markup.quote</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#004480</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>List</string>
<key>scope</key>
<string>markup.list</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#130D26</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bold Markup</string>
<key>scope</key>
<string>markup.bold</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#C1AFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Italic Markup</string>
<key>scope</key>
<string>markup.italic</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#B8FFD9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Heading Markup</string>
<key>scope</key>
<string>markup.heading</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#001221</string>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#C8E4FD</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>SublimeLinter Error</string>
<key>scope</key>
<string>sublimelinter.mark.error</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#DA2000</string>
</dict>
</dict><dict>
<key>name</key>
<string>SublimeLinter Warning</string>
<key>scope</key>
<string>sublimelinter.mark.warning</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#EDBA00</string>
</dict>
</dict><dict>
<key>name</key>
<string>SublimeLinter Gutter Mark</string>
<key>scope</key>
<string>sublimelinter.gutter-mark</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict></array>
<key>uuid</key>
<string>06CD1FB2-A00A-4F8C-97B2-60E131980454</string>
</dict>
</plist>

View file

@ -1,25 +0,0 @@
{
"syntax_sensitive_as_default": true,
"syntax_docset_map":
{
"CSS" : ["css", "bootstrap", "foundation", "less", "cordova", "phonegap"],
"Go" : ["go"],
"GoSublime" : ["go"],
"GoSublime-Go" : ["go"],
"HTML" : ["php", "html"],
"Java" : ["java", "javafx", "grails", "groovy", "playjava", "spring", "cvj", "processing"],
"JavaScript" : ["javascript", "jquery", "jqueryui", "jquerym", "backbone", "marionette", "meteor", "sproutcore", "moo", "prototype", "bootstrap", "foundation", "lodash", "underscore", "ember", "sencha", "extjs", "knockout", "zepto", "yui", "d3", "svg", "dojo", "coffee", "nodejs", "express", "mongoose", "grunt", "chai", "html", "css", "cordova", "phonegap", "unity3d", "titanium"],
"Markdown" : ["markdown"],
"Objective-C" : ["iphoneos", "macosx", "appledoc", "cocos2d", "cocos3d", "kobold2d", "sparrow", "c", "manpages"],
"PHP" : ["drupal", "php", "drupal", "symfony", "twig", "html", "mysql"],
"Puppet" : ["puppet"],
"Python" : ["python", "django", "twisted", "sphinx", "flask", "cvp"],
"Ruby" : ["ruby", "rubygems", "rails"],
"Ruby on Rails" : ["ruby", "rubygems", "rails"],
"Sass" : ["sass", "compass", "bourbon", "neat", "css"],
"Shell-Unix-Generic" : ["bash", "manpages"],
"SQL" : ["mysql", "sqlite", "psql"],
"TCL" : ["tcl"],
"YAML" : ["ansible", "yaml", "drupal"],
}
}

View file

@ -1,23 +0,0 @@
{
"auto_upgrade_last_run": null,
"installed_packages":
[
"DashDoc",
"DocBlockr",
"Dockerfile Syntax Highlighting",
"Drupal Snippets",
"FileDiffs",
"GitHub Flavored Markdown Preview",
"Jinja2",
"MarkAndMove",
"Markdown Preview",
"Package Control",
"Puppet",
"RegReplace",
"Sass",
"SublimeCodeIntel",
"SublimeLinter",
"TrailingSpaces",
"Xdebug Client"
]
}

View file

@ -1,37 +0,0 @@
{
"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,
"folder_exclude_patterns": ["node_modules", ".svn", ".git", ".hg", "CVS", "vendor", ".bundle", ".vagrant"],
"file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db", "*.sublime-workspace"],
"binary_file_patterns": ["generated/*", "*.tbz2", "*.gzip", "*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"]
"auto_complete": false,
"auto_complete_commit_on_tab": true,
}

View file

@ -0,0 +1,7 @@
{
"auto_complete": false,
"extensions":
[
"txt"
]
}

View file

@ -0,0 +1,5 @@
{
"extensions":
[
]
}

View file

@ -0,0 +1,404 @@
{
"added_words":
[
"Kubernetes",
"Ansible",
"Mesos",
"de",
"K8s",
"stateful",
"filesystem",
"cron",
"kubeadm",
"kops",
"Terraform",
"geerlingguy",
"kubernetes",
"playbooks",
"Vagrantfile",
"lang",
"config",
"debian9",
"vm",
"virtualbox",
"cpus",
"ip",
"hostname",
"k8s",
"ansible",
"playbook",
"yml",
"terabyte",
"plugin",
"kube",
"pre",
"kubelet",
"playbook's",
"dev",
"debian",
"ce",
"amd64",
"src",
"cidr",
"kubectl",
"sudo",
"su",
"v1",
"etcd",
"Ansible's",
"openshift",
"nginx",
"metadata",
"apps",
"app",
"namespace",
"a4d",
"yaml",
"linenos",
"3m",
"inline",
"http",
"api",
"ok",
"init",
"rbac",
"gz",
"linux",
"v2",
"https",
"unarchive",
"usr",
"dest",
"tmp",
"cp",
"stdout",
"admin",
"io",
"dns",
"phpmyadmin",
"wordpress",
"jenkins",
"drupal",
"Ceph",
"Gluster",
"Dramble",
"Plugins",
"Jinja",
"templating",
"Dockerfiles",
"Dockerfile",
"Geerling",
"busybox",
"rmi",
"ps",
"localhost",
"python2",
"ubuntu1604",
"angstwad",
"Ubuntu",
"Angstwad's",
"www",
"mysql",
"env",
"py",
"mkdir",
"Werkzeug",
"sqlalchemy",
"html",
"Jinja2",
"libmysqlclient",
"j2",
"ubuntu16",
"awk",
"sbin",
"everything's",
"cd",
"plugins",
"winrm",
"saltstack",
"Hubot",
"hubot",
"args",
"js",
"npm",
"chdir",
"lineinfile",
"json",
"regexp",
"redis",
"heroku",
"a4dbot",
"Slack's",
"bot's",
"lifecycle",
"microservices",
"wildcard",
"Encrypt's",
"crypto",
"ssl",
"privkey",
"pem",
"csr",
"fullchain",
"selfsigned",
"pyopenssl",
"libssl",
"distros",
"iptables",
"cfg",
"tcp",
"python3",
"distro",
"vhosts",
"docroot",
"dir",
"refactor",
"idempotently",
"conf",
"Keychain",
"webservers",
"xyz",
"dbservers",
"httpd",
"rgb",
"dict",
"jinja",
"blog",
"Mazer's",
"Cisco",
"mv",
"endif",
"plugin's",
"versioning",
"namespaced",
"md",
"ruleset",
"ntp",
"parseable",
"foo",
"apache2",
"Diff",
"diffing",
"drush",
"php",
"url",
"multiline",
"nocows",
"java",
"workflows",
"devops",
"username",
"online",
"github",
"awx",
"cowsay",
"workflow",
"Rackspace",
"Uninstalling",
"uninstall",
"walkthrough",
"webhooks",
"Grafana",
"Rundeck",
"Drupal's",
"Symfony",
"Laravel",
"Joomla",
"idempotence",
"Drush's",
"Solr",
"solr",
"sha512",
"Solr's",
"openjdk",
"jdk",
"Ubuntu's",
"org",
"lucene",
"tgz",
"wget",
"txt",
"Andretti",
"devel",
"chkconfig",
"dicts",
"atl",
"subdomains",
"janedoe",
"vvvv",
"Vagrantfiles",
"admins",
"Remi",
"repo",
"epel",
"remi",
"rpms",
"remirepo",
"pki",
"gpg",
"enablerepo",
"nogpgcheck",
"firewalld",
"Remi's",
"disablerepo",
"req",
"scp",
"rsync",
"stderr",
"Forever's",
"nohup",
"app's",
"nodejs",
"pycurl",
"acl",
"ondrej",
"ppa",
"sendmail",
"php7",
"cli",
"gd",
"opcache",
"xml",
"mbstring",
"pdo",
"apcu",
"libpcre3",
"libapache2",
"mysqldb",
"ufw",
"a2enmod",
"virtualhost",
"a2ensite",
"a2dissite",
"symlinking",
"webmaster",
"ini",
"codebase",
"priv",
"cnf",
"phar"
],
"auto_complete_commit_on_tab": true,
"auto_complete_delay": 200,
"auto_indent": true,
"auto_match_enabled": true,
"binary_file_patterns":
[
"generated/*",
"*.tbz2",
"*.gzip",
"*.jpg",
"*.jpeg",
"*.png",
"*.gif",
"*.ttf",
"*.tga",
"*.dds",
"*.ico",
"*.eot",
"*.pdf",
"*.swf",
"*.jar",
"*.zip"
],
"color_scheme": "Packages/User/Cobalt (SL).tmTheme",
"detect_indentation": true,
"draw_minimap_border": false,
"draw_white_space": "selection",
"ensure_newline_at_eof_on_save": false,
"fade_fold_buttons": true,
"file_exclude_patterns":
[
"*.pyc",
"*.pyo",
"*.exe",
"*.dll",
"*.obj",
"*.o",
"*.a",
"*.lib",
"*.so",
"*.dylib",
"*.ncb",
"*.sdf",
"*.suo",
"*.pdb",
"*.idb",
".DS_Store",
"*.class",
"*.psd",
"*.db",
"*.sublime-workspace"
],
"fold_buttons": true,
"folder_exclude_patterns":
[
"node_modules",
".svn",
".git",
".hg",
"CVS",
"vendor",
".bundle",
".vagrant"
],
"font_size": 15.0,
"gpu_window_buffer": false,
"gutter": true,
"highlight_line": true,
"ignored_packages":
[
"Vintage",
],
"ignored_words":
[
"0000ff",
"00f",
"12m",
"13m",
"5d",
"5m",
"6d",
"Phergie",
"Sutcliffe's",
"Uvh",
"ansicolor",
"awxcompose",
"configfile",
"examplenodeapp",
"getcomposer",
"googleapis",
"johndoe",
"johndoe1234",
"modifyvm",
"modulename",
"msg",
"node1",
"node2",
"oo",
"phergie",
"rf",
"rolename",
"si",
"v1beta1",
"var1",
"var2",
"varname",
"vg"
],
"line_numbers": true,
"margin": 4,
"match_brackets": true,
"match_selection": true,
"rulers":
[
80
],
"smart_indent": true,
"spell_check": false,
"tab_size": 2,
"theme": "auto",
"translate_tabs_to_spaces": true,
"trim_automatic_white_space": false,
"trim_trailing_white_space_on_save": false,
}

View file

@ -0,0 +1,3 @@
{
"whitelist_syntaxes": ["Plain text", "Markdown"]
}

View file

@ -44,6 +44,10 @@
when: configure_dock
tags: ['dock']
- import_tasks: tasks/sublime-text.yml
when: configure_sublime
tags: ['sublime-text']
- name: Run configured post-provision ansible task files.
include_tasks: "{{ outer_item }}"
loop_control:

29
tasks/sublime-text.yml Normal file
View file

@ -0,0 +1,29 @@
---
- name: Ensure Sublime Text directories exist.
file:
path: "{{ item }}"
state: directory
loop:
- "{{ sublime_base_path }}/{{ sublime_config_path }}"
- "{{ sublime_base_path }}/Installed Packages"
- name: Ensure Sublime Package Control is installed.
get_url:
url: "https://packagecontrol.io/Package%20Control.sublime-package"
dest: "{{ sublime_base_path }}/Installed Packages/Package Control.sublime-package"
- name: Ensure Sublime Package Control Packages are configured.
template:
src: templates/Package_Control.sublime-settings.j2
dest: "{{ sublime_base_path }}/{{ sublime_config_path }}/Package Control.sublime-settings"
- name: Ensure Sublime text user Preferences and theme are set.
copy:
src: "files/sublime/{{ item }}"
dest: "{{ sublime_base_path }}/{{ sublime_config_path }}/{{ item }}"
loop:
- "Cobalt (SL).tmTheme"
- "Markdown.sublime-settings"
- "Plain text.sublime-settings"
- "Preferences.sublime-settings"
- "WordCount.sublime-settings"

View file

@ -0,0 +1,13 @@
{
"auto_upgrade_last_run": null,
"bootstrapped": true,
"in_process_packages":
[
],
"installed_packages":
[
{% for package in sublime_package_control %}
"{{ package }}"{% if not loop.last %},{% endif %}
{% endfor %}
],
}