{"id":14236031,"url":"https://github.com/hashrocket/dotmatrix","last_synced_at":"2026-01-17T18:30:20.884Z","repository":{"id":683772,"uuid":"327652","full_name":"hashrocket/dotmatrix","owner":"hashrocket","description":"Hashrocket Dot Files","archived":false,"fork":false,"pushed_at":"2023-02-25T21:22:54.000Z","size":586,"stargazers_count":363,"open_issues_count":7,"forks_count":96,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-12-30T03:32:51.575Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hashrocket.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2009-10-05T20:04:56.000Z","updated_at":"2024-12-20T22:28:59.000Z","dependencies_parsed_at":"2022-08-16T10:40:41.815Z","dependency_job_id":"ee6f1e32-f388-431f-89ea-8182aa9104ab","html_url":"https://github.com/hashrocket/dotmatrix","commit_stats":{"total_commits":711,"total_committers":134,"mean_commits":"5.3059701492537314","dds":0.7721518987341772,"last_synced_commit":"e4e3b1f1a4e8129c43d6501e8010d3e5366b262f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashrocket%2Fdotmatrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashrocket%2Fdotmatrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashrocket%2Fdotmatrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashrocket%2Fdotmatrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hashrocket","download_url":"https://codeload.github.com/hashrocket/dotmatrix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239758831,"owners_count":19692034,"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":[],"created_at":"2024-08-20T21:02:42.426Z","updated_at":"2025-02-20T00:46:05.977Z","avatar_url":"https://github.com/hashrocket.png","language":"Vim Script","funding_links":[],"categories":["Vim script"],"sub_categories":[],"readme":"# DOTMATRIX\n\nDotmatrix is a collection of dotfiles used at Hashrocket to customize various\ndevelopment tools. This project is the culmination of many years worth of\ntinkering with our favorite tools to get them to behave just right. We think\nusing Dotmatrix makes working with these tools more pleasant and hope you will\ntoo!\n\n## What are dotfiles?\n\n[Dotfiles][wikipedia] are really just plain text files that start with a '.' and\nthey are used to set preferences for things like Git and Vim. To see your\ncurrent dotfiles, open a terminal and in your home folder run this:\n\n[wikipedia]: https://en.wikipedia.org/wiki/Hidden_file_and_hidden_directory\n\n```\n$ ls -a\n```\n\nMost users will see a long list of files that you might not have know were even\nthere! Since they start with a '.' the OS ignores them (usually) - those are\nyour current dotfiles, Dotmatrix hopes to replace/augment whatever configuration\nyou already have.\n\n## Install\n\nStart by cloning down the repo:\n\n```\n$ git clone https://github.com/hashrocket/dotmatrix.git\n```\n\nThen run this script:\n\n```\n$ bin/install\n```\n\nThis script symlinks all dotfiles into your home directory.\n\n### Hashrocket Workstation\n\nDotmatrix comes with gitconfig for our Hashrocket Workstations that can be\ninstalled like so:\n\n```\n$ bin/install --workstation\n```\n\n## Safe by Default\n\nWhen you install Dotmatrix like this, only files that do not already exist in\nyour $HOME directory will be linked. If you have your own .bashrc file, for\nexample, Dotmatrix won't mess with it.\n\nWhat we'd recommend, however, is moving that file to `~/.bashrc.local`, and\nDotmatrix will source it for you.\n\n## Partial Installation\n\nSometimes it's useful to only install part of Dotmatrix. For partial\ninstallation, you can create a `FILES` file in the root of Dotmatrix that\ncontains a newline-delimited list of dotfiles to symlink and keep up to date\nwith Dotmatrix.\n\nWhen `FILES` exists in the Dotmatrix source directory, running `bin/install`\nwill only symlink the dotfiles listed within `FILES`.\n\nIf, for example, you only want the tmux configuration and sharedrc files, and\nwant to ignore all of the rest of Dotmatrix's dotfiles:\n\n```\n$ cd path/to/dotmatrix\n$ cat FILES\n.tmux.conf\n.sharedrc\n$ bin/install # Only installs .tmux.conf and .sharedrc\n```\n\n## Vim Plugins\n\nFor Vim users, there's another command you might want to run, after you've run\n`bin/install` from inside Vim:\n\n```\n:PlugInstall\n```\n\nOr from the command line:\n\n```sh\nvim -c 'PlugInstall | qa'\n```\n\nThis will install the set of Vim plugins we use.\n\nAfter you've done `./bin/install`, you'll have a `.vimbundle` file and this is a\nmanifest of sorts that [Vim Plug](https://github.com/junegunn/vim-plug) script\nwill use to install various vim plugins. If you have other plugins that you like\nthat aren't on this list, you can put them in a `~/.vimbundle.local` and that\nwill be installed secondarily.\n\nThe `~/.vimbundle.local` file should include one plugin per line, each having\nthe following format:\n\n```\nPlug 'github-user/repo-name'\n```\n\nYou need not include a trailing `.git`.\n\nIf you are upgrading from a previous version of Dotmatrix that used Pathogen\nmake sure to update your .vimbundle.local to the above format. You can do that\neasily with the following command:\n\n```sh\nsed -ie \"s/\\(.*\\)/Plug '\\1'/\" .vimbundle.local\n```\n\n## hr\n\n`hr` is a command with lots of useful scripts as subcommands, based loosely on\nBasecamp's [sub][sub].\n\n[sub]: https://github.com/basecamp/sub\n\nWhen you run `bin/install`, `hr` is installed automatically. If you don't want\nit, simply comment out the line from `~/.zshrc.local` or `~/.bashrc.local` that\ninitializes it.\n\nTo use, just run `hr`. Each subcommand is self-documenting.\n\n### hr plugins\n\nIf you have have commands you'd like to add to `hr`, add them within a \"plugin\".\nPlugins are really just folders within hr's \"plugins\" folder.\n\nThe anatomy of a plugin follows:\n\n```\n\u003croot\u003e/\n  libexec/\n    hr-my-awesome-command\n    hr-my-other-command\n```\n\nWith the above plugin, `hr my-awesome-command` would run the script located at\n`hr-my-awesome-command`.\n\nPlugins are designed to be git repos. For example, if there were another hr\nplugin you wanted to add, you could add it like this:\n\n```\n$ hr plugins add my_plugin git://github.com/path/to/git/repo.git\n```\n\nFor more information, run `hr help plugins`\n\n## Actively Maintained\n\nAt Hashrocket we use Dotmatrix on all of our development machines, then for many\nof us we get so familiar with the setup that we use it on our personal machines\ntoo. That means there's a lot of picky nerds using Dotmatrix every day to make\ntheir tools easy and fun to use.\n\n## Update\n\nKeeping your Dotmatrix up-to-date is easy. Just visit the Dotmatrix directory\nand run `bin/upgrade`. This will fetch the latest changes from GitHub and\nsymlink any new files.\n\n## About\n\n[![Hashrocket logo](https://hashrocket.com/hashrocket_logo.svg)](https://hashrocket.com)\n\nDotmatrix is supported by the team at [Hashrocket, a multidisciplinary design\nand development consultancy](https://hashrocket.com). If you'd like to [work\nwith us](https://hashrocket.com/contact-us/hire-us) or [join our\nteam](https://hashrocket.com/contact-us/jobs), don't hesitate to get in touch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashrocket%2Fdotmatrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhashrocket%2Fdotmatrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashrocket%2Fdotmatrix/lists"}