{"id":20098960,"url":"https://github.com/jream/dotfiles","last_synced_at":"2025-03-02T16:41:17.883Z","repository":{"id":60244451,"uuid":"82155509","full_name":"JREAM/dotfiles","owner":"JREAM","description":"Linux dotfiles for anyone that wants to clone or do their own thing. ","archived":false,"fork":false,"pushed_at":"2025-02-18T16:46:51.000Z","size":3457,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-18T17:39:19.546Z","etag":null,"topics":["bash","bashrc","dotfiles","ubuntu","vimrc","virtualenvwrapper"],"latest_commit_sha":null,"homepage":"http://jream.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JREAM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-16T08:05:24.000Z","updated_at":"2025-02-18T16:46:55.000Z","dependencies_parsed_at":"2024-03-13T01:22:38.870Z","dependency_job_id":"3d356faf-1369-4e8b-9328-362595c75fdc","html_url":"https://github.com/JREAM/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JREAM%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JREAM%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JREAM%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JREAM%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JREAM","download_url":"https://codeload.github.com/JREAM/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241541360,"owners_count":19979117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bashrc","dotfiles","ubuntu","vimrc","virtualenvwrapper"],"created_at":"2024-11-13T17:07:20.391Z","updated_at":"2025-03-02T16:41:17.852Z","avatar_url":"https://github.com/JREAM.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DotFiles\n\n[TOC]\n\n---\n\n## Crontab\n\nI should use `inotifywait`, but this is a lazy way to make backups of my cheatsheets\n```bash\n0 * * * * [ -d ~/.config/cheat/cheatsheets/personal ] \u0026\u0026 cp -R ~/.config/cheat/cheatsheets/personal ~/dotfiles/config/cheat/cheatsheets\n```\n\n## Main Dotfiles\n\n| File                   | Purpose                                  |\n| ---------------------- | ---------------------------------------- |\n| `.bash_profile`        | First Load (Startup) | Use .profile for non-bash shells. Primarily for Ubuntu 18 LTS |\n| `.bashrc`              | Main script to run `. ~/.bashrc` on, reloads all sub-scripts below |\n| `.bash_vendors`        | Any third-party add-ons such as `pyenv`, `nvm`, etc. |\n| `.bash_vars`           | Exported variables to re-use in bash     |\n| `.bash_aliases`        | All shortcuts to make things easier!     |\n| `.dockerrc`            | Provides many commands for Docker, easy loading several docker containers |\n| `.exports`             | Basic export options, perhaps colors and re-usable variables.                    |\n| `.exports_private`     | (Optional) Private export file to ignore with git \u0026 other when public |\n| `.gitconfig`           | Run your commands to customize (Below) |\n| `.gitconfig_private`   | (Optional) Include any tokens here, it should be gitignored, loaded from `~/.gitconfig` |\n\n\u003e **How To Update**: All files are loaded from `.bashrc`, so if you change and sub-file simply reload it with `source ~/.bashrc` or `. ~/.bashrc`.\n\n## Git Quick Customize\n\nRun these commands to add your info:\n\n```\ngit config --global user.name \"Yourname\"\ngit config --global user.email \"youremail@somewhere.com\"\n\n# If your main SSH key is id_rsa set it like below, otherwise replace the name.\ngit config --global user.IdentityFile \"~/.ssh/id_rsa\" \n```\n\nA Few shortcuts (See `~/.gitconfig`) for more:\n\n| Command | Purpose |\n| ------- | ------- |\n| `gl:me/repo` | GitLab SSH |\n| `bb:me/repo` | BitBucket SSH |\n| `gh:me/repo` | GitHub SSH |\n| `git cl gh:me/repo` | Clone from GitHub: `git clone git@github.com:me/repo.git` |\n| `git cm \"msg\"` | `git commit -m \"message\"` |\n| `git r` | `git reset` |\n| `git br` | `git branch` |\n| `git ra` | `git remote add origin` |\n| `git ups` | `git --set-upstream origin` |\n| `git co` | `git checkout` |\n| `git st` | `git status` |\n\n\u003e Note: This adds the shortcut in your `./git/config` file project as the short\nversion so be aware of that when creating a new project. \n\n## Virtualhost Folder\n\nThis is a nice CLI utility a fellow made (See his README) which is very easy to \nuse to instantly create/delete an Nginx or Apache2 VHost on the fly; This includes\na record in `/etc/hosts`. I simply run:\n\n```sh\nchmod +x virtualhost/*.sh \u0026\u0026 mkdir ~/apps \u0026\u0026 cp -r virtualhost ~/apps\nsudo ln -s $HOME/virtualhost/virtualhost.sh /usr/local/bin/virtualhost\n\n# Important:\n# - One line is modified in the file, I place my projects in ~/projects, change this if you need.\n# Usage:\n# - virtualhost.sh is for Apache2\n# - virtualhost-nginx.sh is for Nginx\n# - $ virtualhost create myproject.local subdir/public\n# - $ virtualhost delete myproject.local\n# (You can use any name you like)\n# (The path at the end is optional, otherwise it will go to the root folder in the script)\n```\n\n## Aliases List\n\nThis is found in the `.bash_aliases` file.\n\n- **Bash PS1 Display** \n  - `username@host[~/path]:~$`\n  - `username@host[~/path (master)]:~$` _(Git Branches)_\n\n### Navigation Shortcuts\n\n| Alias  | Actual Command        | Description                              |\n| ------ | --------------------- | ---------------------------------------- |\n| `..`   | `cd ..`               | Move up one directory                    |\n| `...`  | `cd ../..`            | Move up two directories                  |\n| `....` | `cd ../../..`         | Move up three directories                |\n| `l`    | `ls -l --color=auto`  | Long Listing with Color                  |\n| `la`   | `ls -la --color=auto` | Long Listing with Hidden Files and Color |\n| `ls`   | `ls --color=auto`     | List with Color                          |\n| `p`    | `cd ~/projects`       | Go to specific Folder                    |\n| `www`  | `cd /var/www`         | Go to specific Folder                    |\n\n### APT Shortcuts\n\n| Alias        | Actual Command                           | Description              |\n| ------------ | ---------------------------------------- | ------------------------ |\n| `apt`        | `sudo apt-get`                           | Prefix `sudo`            |\n| `update`     | `sudo apt-get update`                    | Quick Update             |\n| `updatey`    | `sudo apt-get update \u0026\u0026 sudo apt-get upgrade -y` | Quick Upgrade w/Auto Yes |\n| `upgrade`    | `sudo apt-get upgrade`                   | Upgrade                  |\n| `autoremove` | `sudo apt autoremove`                    | Quick Auto Remove        |\n| `autoclean`  | `sudo apt autoclean`                     | Quick Auto Clean         |\n| `ppa`        | `sudo apt-add-repository`                | Quickly add PPA          |\n\n### Sudo Shortcuts\n\n| Alias   | Actual Command          | Description                  |\n| ------- | ----------------------- | ---------------------------- |\n| `root`  | `sudo -i`               | Get to root easier           |\n| `su`    | `sudo -i`               | Get to root easier           |\n| `sudo`  | `sudo`                  | Allows aliases to use `sudo` |\n| `chgrp` | `chgrp --preserve-root` | Protect root folder(s)       |\n| `chmod` | `chmod --preserve-root` | Protect root folder(s)       |\n| `chown` | `chown --preserve-root` | Protect root folder(s)       |\n\n### Service Shortcuts\n\n| Alias        | Actual Command                           | Description                       |\n| ------------ | ---------------------------------------- | --------------------------------- |\n| `service`    | `sudo service`                           | Shorthand service                 |\n| **Apache2**  |                                          |                                   |\n| `a2ctl`      | `sudo apachectl`                         | Apache Control Utility            |\n| `a2graceful` | `sudo /usr/sbin/apachectl -k graceful`   | Graceful Restart                  |\n| `a2modules`  | `sudo apachectl -t -D DUMP_MODULES`      | List Active Modules               |\n| `a2test`     | `sudo apachectl -t`                      | Config Test                       |\n| `a2start`    |                                          | Start Apache                      |\n| `a2stop`     |                                          | Stop Apache                       |\n| `a2graceful` | `sidp /usr/sbin/apachectl -k graceful`   | Restart Gracefully                |\n| `a2restart`  |                                          | Restart Apache                    |\n| `a2reload`   |                                          | Reload Apache                     |\n| `a2version`  | `sudo apachectl -v`                      | Get Version                       |\n| `a2vhosts`   | `sudo apachectl -t -D DUMP_VHOSTS`       | List Active VHosts                |\n| `a2path`     |                                          | Go to Apache Config Path          |\n| `a2enconf`   | `sudo a2enconf`                          | Enable Configuration              |\n| `a2disconf`  | `sudo a2disconf`                         | Disable Configuration             |\n| `a2ensite`   | `sudo a2ensite`                          | Enable VHost                      |\n| `a2dissite`  | `sudo a2dissite`                         | Disable Vhost                     |\n| `a2log`      | `tail -n 50 /var/log/apache2/error.log`  | See Recent Error Log              |\n| `a2access`   | `tail -n 50 /var/log/apache2/access.log` | See Recent Access Log             |\n| **Nginx**    |                                          |                                   |\n| `ngmake`     |                                          | Create file in sites-available    |\n| `ngensite`   |                                          | Create symlink to sites-enabled   |\n| `ngdissite`  |                                          | Remove symlink from sites-enabled |\n| `ngstart`    |                                          | Start Nginx                       |\n| `ngstop`     |                                          | Stop Nginx                        |\n| `ngreload`   |                                          | Reload Nginx                      |\n| `ngrestart`  |                                          | Restart Nginx                     |\n| `ngtest`     |                                          | Config Test                       |\n| `ngpath`     |                                          | Go to Nginx Config Path           |\n\n\n### Utility Shortcuts\n| Alias     | Actual Command | Description                       |\n| --------- | -------------- | --------------------------------- |\n| `df`      |                | improvement (`apt insttall pydf`) |\n| `du`      |                | improvement (`apt install ncdu`)  |\n| `gza`     |                | GZip an current folder            |\n| `extract` |                | extract nearly any file extension |\n\n### Search Shortcuts\n\n| Alias   | Actual Command       | Description       |\n| ------- | -------------------- | ----------------- |\n| `egrep` | `egrep --color=auto` | Color to egrep    |\n| `ffile` | `find . -name`       | find file by name |\n| `fgrep` | `fgrep --color=auto` | Color to fgrep    |\n| `grep`  | `grep --color=auto`  | Color to grep     |\n\n### Misc Shortcuts\n| Alias            | Actual Command    | Description                              |\n| ---------------- | ----------------- | ---------------------------------------- |\n| `h`              | `history`         | View Bash History                        |\n| `c`              | `clear`           | Clear Terminal                           |\n| `gitall`         |                   | Get all current repo branches            |\n| `gitallbranches` |                   | Fetches all git branches in a repository |\n| `ip`             |                   | get current ip                           |\n| `j`              | `jobs -l`         | Show running jobs                        |\n| `mkdir`          | `mkdir -pv`       | Make directories multi-levels deep       |\n| `now`            |                   | Current Date Time                        |\n| `os`             | `lsb_release -a`  | OS Info                                  |\n| `ports`          | `netstat -tulanp` | Open Ports                               |\n| `py`             | `python`          | Shorthand Python                         |\n| `vi`             | `vim`             | Always use VIM                           |\n| `wget`           | `wget -c`         | Continue if failed download              |\n| `xclip`          | `xclip -sel clip` | Copy content                             |\n\n---\n\n##Handy Commands\n\n### Loop Dir \u0026 Run Any Command\n\n- **loopdircmd \u003ccmd\u003e**\n  - **Description**: Run any command on every directory one level up.\n  - **Example**: \n    - `loopdircmd git checkout development`\n    - `loopdircmd git add . \u0026\u0026 git commit -m \"Update\" \u0026\u0026 git push`\n\n### Find Text in File Easily\n\n- **findinfile \u003ctext|text2\u003e \u003cpath|default: $PWD\u003e**\n  - **Description**: Find contents in a file recursively.\n  - **Example**: \n    - `findinfile helloworld `\n    - `findinfile help|assist ~/projects/game/*.txt`\n\n---\n\n## Important: Update Git Settings\n\nYou should update the git config with:\n\n```sh\ngit config --global user.name \"Your Name\"\ngit config --global user.email \"your_email@example.com\"\n```\n\nIf you are using another default identity key other than `id_rsa/id_rsa.pub` make sure to update it:\n\n```sh\ngit config --global user.IdentityFile \"~/.ssh/your_private_key\"\n```\n\n## Vim Plugins\n\nTo install vim plugins the following will suffice to clone Vundle:\n\n```sh\ngit clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim\n```\n\nOnce cloned to your user folder, install the plugins all at once:\n\n```sh\nvim +PluginInstall +qall\n```\n\nYou will see an error with the color scheme, but when you reload VIM it will fix itself.\n\n\n# (Depricated) Dev Environment Setup\n\n**No longer using `direnv`, Mainly NVM**\n\nI have used the following:\n- Node: `8.1.0`\n- NPM: `5.0.3`\n- OS:\n  - `Windows 10 x64`,\n  - `Ubuntu 16.04 x64`,\n  - `Ubuntu 16.10 x64`,\n  - *Sorry I don't use Apple*\n\nI like to use use NVM, it's up to you.\n\n### Linux: Install Environment Essentials\n\nDirEnv uses `.envrc` files\n```sh\nsudo apt install direnv\n```\n\nAdd DirEnv to detect `.envrc` in `.bashrc`:\n```sh\n# This should be near the end, or the end of your .bashrc file\nif type direnv 2\u003e/dev/null; then\n  eval \"$(direnv hook bash)\"\nelse\n  echo \"[!] You need 'direnv', apt install direnv\"\nfi\n```\n\n## Get Node/NVM/Update NPM\n\nDownload NVM\n```\ncurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash\n```\n\n### Install Node and Update NPM\n```\nnvm install 8.1.0\nnvm use 8.1.0\nnpm install -g npm\n```\n\nIf you need to force a version, make an `.nvmrc` alongside an `.envrc` below with:\n```\n8.1.0\n```\n\n### Force Enviroment Versions\nThe `.envrc` contains:\n```\nnvmrc=~/.nvm/nvm.sh\nif [ -e $nvmrc ]; then\n  source $nvmrc\n  nvm use\nfi\n\n# Path to node modules\nPATH_add node_modules/.bin\n```\n\n## Ubuntu XML Linter\nFor XML Linting, add the following:\n\n```\nsudo apt install libxml2-utils\n```\n\n## PHP\n```sh\ncomposer global require friendsofphp/php-cs-fixer \\\n  squizlabs/php_codesniffer \\\n  phpmd/phpmd behat/behat \\\n  codeception/codeception\n```\n\nAlways make sure composer path is included, preferably in `.profile` or `.bashrc`:\n\n```sh\nexport PATH=\"$PATH:$HOME/.composer/vendor/bin\"\n```\n\n\u003e Global Windows NPM Location: `C:\\Users\\inno\\AppData\\Roaming\\npm`\n\n\u003e Global Windows Composer Location: `C:\\Users\\inno\\AppData\\Roaming\\Composer\\vendor`\n\n\n## Python Linters\n\n```sh\npip install pep8 pylint flake8 pydocstyle prospector pylint_django ansible-lint\n```\n\nIf you have Py3.X installed also add:\n```sh\npip3 install mypy-lang\n```\n\n## Node JS Linters \u0026 Tools\n\n**Important** When using NVM, you may have different\npackages installed globally, so run: `npm list` to see.\n\n### Dependencies First\nAdd many items to be the most compatible, you can also use `yarn` if you have it installed.\n\n**This is only tested on Node 6+**\n\n```sh\nnpm install -g --save \\\n  cross-env \\\n  babel-cli \\\n  babel-core \\\n  babel-eslint \\\n  babel-helpers \\\n  babel-messages \\\n  babel-preset-es2015 \\\n  babel-preset-es2016 \\\n  babel-preset-stage-1 \\\n  babel-preset-stage-2 \\\n  babel-preset-stage-3 \\\n  babel-plugin-transform-es2015-modules-commonjs \\\n  babel-polyfill \\\n  babel-register \\\n  babel-types \\\n  babel-template \\\n  csslint \\\n  eslint \\\n  eslint-config-eslint \\\n  eslint-plugin-flowtype \\\n  htmlhint \\\n  htmllint-cli \\\n  less \\\n  jscs \\\n  jshint \\\n  jsxhint \\\n  phplint \\\n  sass-lint \\\n  sass-lint \\\n  tslint \\\n  typescript\n```\n\n### Setup Eslint Config\n\nCreate `.eslintrc`, place it someplace common to share, the easiest place is your home folder to keep all projects consistent.\n\n```json\n// ~/home/user/.eslintrc\n// Many items are optional, please see eslint config\n{\n  \"parserOptions\": {\n    \"ecmaVersion\": 6,\n    \"sourceType\": \"module\",\n    \"ecmaFeatures\": {\n      \"jsx\": true\n    }\n  },\n  \"env\": {\n    \"browser\": true,\n    \"jquery\": true,\n    \"node\": true,\n    \"phantomjs\": true\n  },\n  \"extends\": \"eslint\"\n}\n\n```\n\n## Ruby\n\nFor `rainbow, nokogiri, sass` you may have to use Ruby `2.1.X` since there is a bug at the moment for `2.4`.\n\nThe item `mdl` is Markdown Lint, `compass` is no longer supported.\n\n```sh\nsudo gem install markdown mdl bundler rake rainbow nokogiri\n```\n\n\n# Configure PHP Settings for IDE\n\n\u003e Path to phpcs for editors: `/home/jesse/.composer/vendor/bin/phpcs`\n\u003e Path to phpmd (mess detector): `/home/jesse/.composer/vendor/bin/phpmd`\n\nThis is optional, but set PHP version may help:\n\n```\nphp -a\nphp\u003e echo PHP_VERSION_ID;\n```\n\n- **For example, I receive:**\n  - Ubuntu: `70018`\n  - Windows Laragon: `70105`\n\nWe would then run the following for any platform:\n\n```sh\nphpcs --config-set php_version \u003cversion_id\u003e\n\n# Example:\nphpcs --config-set php_version 70018\n```\n\nOther cross platform PHPCS commands to set are:\n\n```sh\nphpcs --config-set default_standard Squiz\nphpcs --config-set report_format summary\nphpcs --config-set colors 1\nphpcs --config-set report_width 120\nphpcs --config-set encoding utf-8\nphpcs --config-set tab_width 4\n```\n\n## Linter Settings: Ubuntu\n\nYou can Copy/Paste all this into your terminal.\n\n```\nphpcs --config-set php_path /usr/bin/php\n\n## Set a reusable var, save time\nBASE_PATH=/home/${USER}/.npm/\nphpcs --config-set csslint_path $BASE_PATH/csslint/dist/csslint.js    # CSS Lint\nphpcs --config-set jslint_path $BASE_PATH/jslint/lib/jslint.js        # JS LINT [Letter L]\n\nphpcs --config-set jshint_path $BASE_PATH/jshint/dist/jshint.js       # JS Hint [Letter H]\nphpcs --config-set rhino_path $BASE_PATH/jshint/dist/jshint.js        # JS Hint [Letter H]\nphpcs --config-set rhino_path $BASE_PATH/jshint/dist/jshint-rhino.js  # JS Hint [Letter H]\n```\n\n## Linter Settings: Windows\n\nFirst set your **PHP CS** SETTINGS, on windows we have to know where PHP is installed.\n\nFind your PHP path, assuming it's set in Windows Environment Variables.\n\n```sh\nwhich php\n```\n\nUsing MingGW64 (Git Bash from GitSCM) I get:\n```\n/c/laragon/bin/php/php-7.1.5-Win32-VC14-x64/php\n```\n\n**So, My setting is:**\n\n```\nphpcs --config-set php_path /c/laragon/bin/php/php-7.1.5-Win32-VC14-x64/php\n```\n\n### All Linter Settings\n\nYou can Copy/Paste all this into your terminal. *Reminder: I am using MinGW on Windows here.*\n\n```sh\nBASE_PATH=/c/Users/$(whoamai)/AppData/Roaming/npm/node_modules/             # Usually the default -g/--global install path in Windows\nphpcs --config-set csslint_path $BASE_PATH/csslint/dist/csslint.js    # CSS Lint\nphpcs --config-set jslint_path $BASE_PATH/jslint/lib/jslint.js        # JS LINT [Letter L]\n\nphpcs --config-set jshint_path $BASE_PATH/jshint/dist/jshint.js       # JS Hint [Letter H]\nphpcs --config-set rhino_path $BASE_PATH/jshint/dist/jshint.js        # JS Hint [Letter H]\nphpcs --config-set rhino_path $BASE_PATH/jshint/dist/jshint-rhino.js  # JS Hint [Letter H]\n```\n\n## Jetbrains and Laravel\n\n```\ncomposer require --dev barryvdh/laravel-ide-helper\n```\n\nThen go to `app/Providers/AppServiceProvider.php`:\n\n```\n# In the register() method add:\npublic function register()\n{\n    if ($this-\u003eapp-\u003eenvironment() !== 'production') {\n        $this-\u003eapp-\u003eregister(\\Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider::class);\n    }\n    // ...\n}\n```\n\nGenerate Docs:\n```\nphp artisan ide-helper:generate\nphp artisan ide-helper:meta\n```\n\n## Sublime Outline Scope (Disregard)\n\nI like this feature to outline a scope, it requires `BracketHighlighter`.\n\nGo to `Preferences` \u003e `Browse Packages` and head into the `User` folder.\n\nNow edit your currently active theme, it ends with `.tmTheme`. Add the following around line `64-ish` after you see:\n\n```xml\n\u003carray\u003e\n    \u003cdict\u003e\n        \u003ckey\u003esettings\u003c/key\u003e\n        \u003cdict\u003e\n            \u003ckey\u003e...\u003c/key\u003e\n            \u003cstring\u003e...\u003c/string\u003e\n        \u003c/dict\u003e\n    \u003c/dict\u003e\n    ... Here ...\n\u003c/array\u003e\n```\n\nYou will add this, and you can adjust the `#525252` to any color you want, don't\nworry about the `foreground` word:\n```xml\n\u003cdict\u003e\n    \u003ckey\u003ename\u003c/key\u003e\n    \u003cstring\u003eBracketHighlighter\u003c/string\u003e\n    \u003ckey\u003escope\u003c/key\u003e\n    \u003cstring\u003ecomment.block.custom\u003c/string\u003e\n    \u003ckey\u003esettings\u003c/key\u003e\n    \u003cdict\u003e\n        \u003ckey\u003eforeground\u003c/key\u003e\n        \u003cstring\u003e#525252\u003c/string\u003e\n    \u003c/dict\u003e\n\u003c/dict\u003e\n```\n\nNext go to `Preferences` \u003e `Package Settings` \u003e `Bracket Highlighter`, and we\nwill add the following:\n\n```\nI dont know its hard to get right, pain in the butt... gotta add xml\nto the CURRENT theme\n```\n\nThe above creates a file in `Users/bh_core.sublime-settings`.\n\n---\n\nDisclaimer: Not all Features are flawless, many things are experimental and change often.\n\nLicense: Open Source MIT\n\n(C) 2017 Jesse Boyer \u003c[JREAM LLC](https://jream.com)\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjream%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjream%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjream%2Fdotfiles/lists"}