Commit graph

44 commits

Author SHA1 Message Date
Geoff Harcourt
5724d124a5 Use vim-plug over vundle
[vim-plug](https://github.com/junegunn/vim-plug) has a number of
advantages over Vundle:

* Installs and updates plugins very quickly in parallel
* Can lock plugins at versions/tags
* Can rollbacks updates (useful if a plugin breaks) and take/reload
  snapshots of current state
* Optionally lazily-load plugins when their relevant command is invoked
* Execute post-update hooks for plugins with compiled extensions, etc.

vim-plug uses a DSL very close to Vundle (simplest form is `Plug` vs.
`Plugin`), and here it is set to continue to use the same plugin
location that Vundle was using before.

After updating, users will need to
1. Rename `Plugin` lines in `.vimrc.bundles.local` to use `Plug`
2. Run `:PlugInstall` (the post-up hook does this)
2015-04-27 19:14:22 -04:00
Jessie A. Young
b3cb23830d Remove GitHub colorscheme
* Every time I pull updates from this repo into my own dotfiles, I have to
  reconfigure my preferred theme (solarized)
* Seems like there is not a majority or plurality of thoughbotters using a
  single colorscheme
* Easiest to just not specify a colorscheme
* See https://forum.upcase.com/t/why-is-the-default-vim-theme-on-dotfiles-is-github/4232
2015-03-18 10:16:39 -07:00
Joe Ferris
2eb9145f6b Update credits
* Break up credits section into thanks/about
* Use new "About thoughtbot" section
2015-03-09 13:48:23 -04:00
Dan Croak
d7f194f94e Add more Git hooks, delegate to .local convention
The `pre-commit` and `prepare-commit-msg` git hooks can be used
for some interesting things such as linting files.

For example, I need to format, vet, and lint Go files:

https://github.com/croaky/dotfiles/blob/master/git_template.local/hooks/pre-commit
https://github.com/croaky/dotfiles/blob/master/git_template.local/hooks/prepare-commit-msg

We've rejected Go-related pull requests to thoughtbot/dotfiles
due to not doing enough "official" Go work at the company.
This change helps me start with `.local` for now,
and then promote to "upstream" (thoughtbot/dotfiles) at some point
in the future if we do more "official" Go work.

I'm a believer in having linting done at VCS "commit time", either
locally in a pre-commit so I have a chance to fix things and not both my
teammates with linting issues, or at post-commit time via Hound comments
(also automated, but opportunity to ignore).

I've tried adding linting libraries to my editor, and found them too
slow, at least for Ruby. I've limited "editor-time" checking to just
syntax checking via Syntastic.

The downsides I see to adding linting to the test suite are:

* Style violations are not functional failures and logically shouldn't
  fail a build.
* Adding code coverage, linting, etc. to a test suite slows down the
  build.
* I only need to lint my diff (the commit), not the whole codebase, when I
  make changes.
* Style violations should not prevent a user-facing, production deploy.
* Adding linting to the test suite can slow that process down
  unnecessarily, particularly in continuous integration setups.

I see the appeal of linting in the test suite, particularly for
greenfield apps where we have total control, but I don't think it's a
practice that we can universally apply to our client projects who have
different deploy setups and existing codebases. So, I prefer the git
hooks + Hound approach as a pragmatic middle ground.
2014-12-02 21:49:53 -08:00
Dan Croak
782bcf7ddb Remove mention of Brewfile
It is no longer in our dotfiles.
2014-12-02 21:01:54 -08:00
Mike Coutermarsh
cf10a8358f Updating readme to use thoughtbot/formulae
Brew bundle is deprecated. fixes #309
Removes Brewfile, no longer needed
2014-10-22 08:54:13 -07:00
Dan Croak
90f3b577e8 Document vim-mkdir in README 2014-09-30 09:31:48 -07:00
Robert Speicher
6a1bd18a1f Add zshenv file
From the [Zsh manual](http://zsh.sourceforge.net/Intro/intro_3.html):

> '.zshenv' is sourced on all invocations of the shell, unless the -f option is
> set. It should contain commands to set the command search path, plus other
> important environment variables. `.zshenv' should not contain commands that
> produce output or assume the shell is attached to a tty.

Why is this important? [Alfred](http://www.alfredapp.com/) workflows run in
non-interactive shells. When the `$PATH` is set, or `rbenv` is initialized, in
`zshrc` instead of `zshenv`, those workflows will not use the correct Ruby
version and might not have access to certain bin files, such as those from
`$HOME/.bin/` or Homebrew.
2014-09-12 11:45:03 -07:00
Sean Doyle
cbdcbce01d Introduces git_template for init templating
Inspired by http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html

* Make `ctags` executable configurable
* Adds `git ctags`
* Runs `ctag` on `commit` / `branch` / `checkout`
* Extensible via `~/.git_template.local/hooks/{pre,post}-*`
* explain `git_template` under `git` section
2014-08-27 16:43:38 -04:00
Mike Burns
73497a7c54
Introduce ~/.zsh/configs
Just before loading `~/.zshrc.local`, load:

1. `~/.zsh/configs/pre/**/*`
2. `~/.zsh/configs/**/*` # excluding pre and post
3. `~/.zsh/configs/post/**/*`

About the zsh glob:

- `.`: only produce normal files.
- `-`: follow symlinks to their final file; skip any broken links.
- `N`: do not complain about zero matches.

Big ups to Pat Brisbin for finding `N`.
2014-08-27 17:47:26 +02:00
Geoff Harcourt
9a2cb782b1
Allow personal overrides to psqlrc
I wanted to add my own customizations after reading @mike-burns' post on
[`psqlrc`](http://robots.thoughtbot.com/an-explained-psqlrc).

As a result of this change, `.psqlrc` requires that a `.psqlrc.local`
exist in the home folder because `psql` cannot do conditional sourcing
of files in the style that we use in other foundation dotfiles. Touching
the file to ensure it exists (even if blank) prevents `psql` from
exiting with an error if the user does not provide their own custom
configuration.

Additional changes:
* Updating the documentation with regard to which files get excluded.
2014-07-30 10:46:25 +02:00
Robert Speicher
0191762805 Update for Vundle's new interface
* Vundle now lives at gmarik/Vundle.vim

See https://github.com/gmarik/Vundle.vim/blob/master/doc/vundle.txt#L345-L369
2014-07-25 17:20:57 -07:00
Dan Croak
397155648d Fix out of date README on rake, rspec commands
`rake` and `rspec` commands that wrapped `zeus` were removed in 00dbd15.
2014-04-29 23:21:55 -07:00
Dan Croak
1d590d78aa Exclude Brewfile
It is project-specific, not intended for machine configuration.
2014-03-14 14:01:42 -07:00
Garland William Binns III
bf82a62343 Update to ensure user's working folder is correct for subsequent actions. 2014-03-07 15:58:10 -08:00
Garland William Binns III
71a88a265c Added syntactical clarity to instruction to change directory. 2014-03-07 15:58:09 -08:00
Garland William Binns III
fd5732345c Resolves #216 - adds note about ensuring user is in Clone/Fork root before 'brew bundle' is run. 2014-03-07 15:58:09 -08:00
Dan Croak
18e0926a07 Don't assume location of zsh 2014-02-07 23:30:11 -08:00
Adarsh Pandit
6f48e8cd36 Update copyright to 2014 2014-01-27 01:13:49 -08:00
Dan Croak
31b99d9728 Add rbenv shims and trusted binstubs to PATH
Our expected way of managing Rubies is with rbenv:

https://github.com/thoughtbot/laptop/blob/master/common-components/ruby-environment

This commit loads rbenv in `zshrc` as recommended by the rbenv docs:

https://github.com/sstephenson/rbenv#basic-github-checkout

Assuming the binstubs for a project are in the local bin/ directory, we
can even go a step further to add the directory to shell $PATH so that
rspec can be invoked without the bin/ prefix:

    export PATH="./bin:$PATH"

Doing so on a system that other people have write access to (such as a
shared host) is a security risk:

https://github.com/sstephenson/rbenv/issues/309

The `.git/safe` convention addresses the security problem:

https://twitter.com/tpope/status/165631968996900865

This zsh fix may be necessary for OS users in order to fix a bug:

https://github.com/thoughtbot/laptop/blob/master/mac-components/zsh-fix
2014-01-23 14:22:51 -08:00
Gabe Berke-Williams
5920168f02 Correctly link to rcm in README 2014-01-10 16:16:26 -05:00
Gabe Berke-Williams
dbcf831f0f Use Brewfile 2014-01-10 16:05:21 -05:00
Mike Burns
3bc2a98a1b Use rcm instead of ./install.sh
The rcm suite is designed to replace the `./install.sh` script found in
this and many other dotfiles repos across GitHub. By using rcm users can
combine multiple dotfiles repos, tag dotfiles, have host-specific
dotfiles, and other powerful features.

This commit removes `install.sh`, updates the README, adds a post-up
hook that vundles the vim bundles, and adds a `rcrc` configuration that
ignores `README.md` and `LICENSE` and sets the dotfiles directory to
just `dotfiles`.
2013-12-05 10:17:12 +01:00
Dan Croak
6428b765a1 Update Giant Robots blog post URLs in README 2013-11-28 12:01:59 -08:00
Sterling Cobb
b024bdcd3a Allow for a local tmux.config file 2013-08-03 11:14:31 -07:00
David Larrabee
5994cf10eb Adds local configuration file for vim bundles 2013-08-03 10:10:51 -04:00
Sterling Cobb
3fd85abb00 List local files available to override 2013-07-22 21:38:41 -07:00
Dan Croak
fdbd7b5248 Remove "DO NOT EDIT BELOW THIS LINE" convention
It has been superceded by a `.local` suffix convention.
2013-07-08 22:09:44 -07:00
Dan Croak
64e6dfa4c6 Isolate credits to README
Per @mikeburns' suggestion.
2013-06-18 16:47:01 -07:00
Dan Croak
32e79b642f git up alias and git up -i documentation 2013-06-11 14:53:15 -07:00
Dan Croak
cb6170d2f8 Extract dev/staging/prod binaries to parity gem
https://github.com/croaky/parity
2013-05-12 17:38:22 -07:00
Dan Croak
ed2c8ef0bc Fix reference to non-existent file
Link to it for easy access in GitHub.
2013-04-22 21:04:57 -07:00
Chris Hunt
21ca138751 Fix contributors link in README 2013-03-06 11:01:26 -08:00
Dan Croak
734d43c830 Explain what's in dotfiles
* Link to fork/upstream process.
* Remove RVM reference.
* Don't create ~/.README.md in `install.sh` script.
2013-03-06 09:26:56 -08:00
Adarsh Pandit
a63b2ac15c Update copyright year to 2013 2013-01-06 01:24:19 -08:00
Dan Croak
52b2ee106e Document "DO NOT EDIT BELOW THIS LINE" convention 2012-10-21 15:10:47 -07:00
Adarsh Pandit
5476eaf7aa Update README and add MIT-LICENSE
* Update copyright year
* Add Credits section
* Add MIT license file
2012-09-18 23:10:20 -07:00
Dan Croak
87685f1fbf improve documentation to make suggestions about where to put your own customizations 2011-12-07 18:35:29 -05:00
Dan Croak
326ceb44e4 Working hard to make the README instructions extremely clear for newcomers and workshop students. 2011-12-04 18:22:58 -05:00
Dan Croak
c70fca54f3 Adding line about switching to zsh. 2011-08-10 11:32:44 -03:00
Dan Croak
57949f53f9 Better instructions for keeping a fork updated. 2011-05-02 08:33:53 -07:00
Dan Croak
e246ac95f9 'when' instructions 2011-03-24 13:36:59 -04:00
Dan Croak
2f2d20e714 more complete instructions for flow 2011-03-24 13:35:49 -04:00
Dan Croak
36b67fefd4 adding instructions to README for tracking thoughtbot/dotfiles repo 2011-03-24 13:14:28 -04:00