diff --git a/README.md b/README.md index 1677069..76636b6 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/default.config.yml b/default.config.yml index 3531dcc..9871408 100644 --- a/default.config.yml +++ b/default.config.yml @@ -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: [] diff --git a/files/sublime/Cobalt (SL).tmTheme b/files/sublime/Cobalt (SL).tmTheme new file mode 100644 index 0000000..a9f1924 --- /dev/null +++ b/files/sublime/Cobalt (SL).tmTheme @@ -0,0 +1,589 @@ + + + + + comment + Created by Jacob Rus. Based on ‘Slate’ by Wilson Miner + author + Jacob Rus + name + Cobalt + settings + + + settings + + background + #002240 + caret + #FFFFFF + foreground + #FFFFFF + invisibles + #FFFFFF26 + lineHighlight + #00000059 + selection + #B36539BF + + + + name + Punctuation + scope + punctuation - (punctuation.definition.string || punctuation.definition.comment) + settings + + fontStyle + + foreground + #E1EFFF + + + + name + Constant + scope + constant + settings + + fontStyle + + foreground + #FF628C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #FFDD00 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #FF9D00 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #FFEE80 + + + + name + String + scope + string -string.unquoted.old-plist -string.unquoted.heredoc, string.unquoted.heredoc string + settings + + fontStyle + + foreground + #3AD900 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #0088FF + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #80FFBB + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #CCCCCC + + + + name + Lang Variable + scope + variable.language + settings + + fontStyle + + foreground + #FF80E1 + + + + name + Function Call + scope + meta.function-call + settings + + foreground + #FFEE80 + + + + name + Invalid + scope + invalid + settings + + background + #800F00 + foreground + #F8F8F8 + + + + name + Embedded Source + scope + text source, string.unquoted.heredoc, source source + settings + + background + #223545 + fontStyle + + foreground + #FFFFFF + + + + name + Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #80FCFF + + + + name + String embedded-source + scope + string.quoted source + settings + + fontStyle + + foreground + #9EFF80 + + + + name + String constant + scope + string constant + settings + + foreground + #80FF82 + + + + name + String.regexp + scope + string.regexp + settings + + foreground + #80FFC2 + + + + name + String variable + scope + string variable + settings + + foreground + #EDEF7D + + + + name + Support.function + scope + support.function + settings + + fontStyle + + foreground + #FFB054 + + + + name + Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #EB939A + + + + name + Exception + scope + support.type.exception + settings + + foreground + #FF1E00 + + + + name + C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + foreground + #AFC4DB + + + + name + Doctype/XML Processing + scope + 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 + settings + + foreground + #73817D + + + + name + Meta.tag.A + scope + meta.tag, meta.tag entity + settings + + foreground + #9EFFFF + + + + name + css tag-name + scope + meta.selector.css entity.name.tag + settings + + foreground + #9EFFFF + + + + name + css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + foreground + #FFB454 + + + + name + css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + foreground + #5FE461 + + + + name + css property-name: + scope + support.type.property-name.css + settings + + foreground + #9DF39F + + + + name + css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + foreground + #F6F080 + + + + name + css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #F6AA11 + + + + name + css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + foreground + #EDF080 + + + + name + css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #EB939A + + + + name + diff.header + scope + meta.diff, meta.diff.header + settings + + background + #000E1A + fontStyle + + foreground + #F8F8F8 + + + + name + diff.deleted + scope + markup.deleted + settings + + background + #4C0900 + foreground + #F8F8F8 + + + + name + diff.changed + scope + markup.changed + settings + + background + #806F00 + foreground + #F8F8F8 + + + + name + diff.inserted + scope + markup.inserted + settings + + background + #154F00 + foreground + #F8F8F8 + + + + name + Raw Markup + scope + markup.raw + settings + + background + #8FDDF630 + + + + name + Block Quote + scope + markup.quote + settings + + background + #004480 + + + + name + List + scope + markup.list + settings + + background + #130D26 + + + + name + Bold Markup + scope + markup.bold + settings + + fontStyle + bold + foreground + #C1AFFF + + + + name + Italic Markup + scope + markup.italic + settings + + fontStyle + italic + foreground + #B8FFD9 + + + + name + Heading Markup + scope + markup.heading + settings + + background + #001221 + fontStyle + bold + foreground + #C8E4FD + + + + name + SublimeLinter Error + scope + sublimelinter.mark.error + settings + + foreground + #DA2000 + + + name + SublimeLinter Warning + scope + sublimelinter.mark.warning + settings + + foreground + #EDBA00 + + + name + SublimeLinter Gutter Mark + scope + sublimelinter.gutter-mark + settings + + foreground + #FFFFFF + + + uuid + 06CD1FB2-A00A-4F8C-97B2-60E131980454 + + \ No newline at end of file diff --git a/files/sublime/Library/Packages/User/DashDoc.sublime-settings b/files/sublime/Library/Packages/User/DashDoc.sublime-settings deleted file mode 100644 index d7a97fc..0000000 --- a/files/sublime/Library/Packages/User/DashDoc.sublime-settings +++ /dev/null @@ -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"], - } -} diff --git a/files/sublime/Library/Packages/User/Package Control.sublime-settings b/files/sublime/Library/Packages/User/Package Control.sublime-settings deleted file mode 100644 index a0de2f9..0000000 --- a/files/sublime/Library/Packages/User/Package Control.sublime-settings +++ /dev/null @@ -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" - ] -} diff --git a/files/sublime/Library/Packages/User/Preferences.sublime-settings b/files/sublime/Library/Packages/User/Preferences.sublime-settings deleted file mode 100644 index 812fd29..0000000 --- a/files/sublime/Library/Packages/User/Preferences.sublime-settings +++ /dev/null @@ -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, -} diff --git a/files/sublime/Markdown.sublime-settings b/files/sublime/Markdown.sublime-settings new file mode 100644 index 0000000..c6c9b94 --- /dev/null +++ b/files/sublime/Markdown.sublime-settings @@ -0,0 +1,7 @@ +{ + "auto_complete": false, + "extensions": + [ + "txt" + ] +} diff --git a/files/sublime/Plain text.sublime-settings b/files/sublime/Plain text.sublime-settings new file mode 100644 index 0000000..c9fb4e6 --- /dev/null +++ b/files/sublime/Plain text.sublime-settings @@ -0,0 +1,5 @@ +{ + "extensions": + [ + ] +} diff --git a/files/sublime/Preferences.sublime-settings b/files/sublime/Preferences.sublime-settings new file mode 100644 index 0000000..0633567 --- /dev/null +++ b/files/sublime/Preferences.sublime-settings @@ -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, +} diff --git a/files/sublime/WordCount.sublime-settings b/files/sublime/WordCount.sublime-settings new file mode 100644 index 0000000..921d2b8 --- /dev/null +++ b/files/sublime/WordCount.sublime-settings @@ -0,0 +1,3 @@ +{ + "whitelist_syntaxes": ["Plain text", "Markdown"] +} diff --git a/main.yml b/main.yml index 0c3744c..130a98f 100644 --- a/main.yml +++ b/main.yml @@ -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: diff --git a/tasks/sublime-text.yml b/tasks/sublime-text.yml new file mode 100644 index 0000000..349df9e --- /dev/null +++ b/tasks/sublime-text.yml @@ -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" diff --git a/templates/Package_Control.sublime-settings.j2 b/templates/Package_Control.sublime-settings.j2 new file mode 100755 index 0000000..5275151 --- /dev/null +++ b/templates/Package_Control.sublime-settings.j2 @@ -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 %} +], +}