Skip to content

netzfisch/dotfiles

Repository files navigation

netzfisch does also dotfiles

These dotfiles personalize my system, which are based + inspired by thoughtbot/dotfiles and work together using the *.local convention.

The dotfiles focus on ruby development with tools like git, tmux, vim and Ethan Schoonover solarized-theme in a Lubuntu Xfce4-terminal environment.

See also the unofficial guide to dotfiles on GitHub, why you want to track down your dotfiles and how to get started with a bootstrap!

Requirements

Set zsh as your login shell:

chsh -s /bin/zsh

Than echo $0 will tell you /usr/bin/zsh :-)

Set in the LXterminal the color scheme to Solarized or any other prefered one:

[Edit] > [Settings] > [Colors] > [Presets > Solarized(dark)]

Heads-up - If you run into trouble concerning terminal colors, check this excellent post from Peter Harkins for a general overview and "how things supposed to work" or a more specific approach concerning 256 colors in vim!

Get rcm:

sudo add-apt-repository ppa:martin-frost/thoughtbot-rcm
sudo apt-get update && apt-get install rcm

Or on iOS run brew install rcm!

Install

Clone onto your laptop:

cd ~/Development
git clone [email protected]:netzfisch/dotfiles.git
git clone [email protected]:thoughtbot/dotfiles.git dotfiles/thoughtbot

Generate the "glue":

env RCRC=$HOME/Development/dotfiles/rcrc rcup

This will create symlinks for config files in your home directory. To list all created ones use lsrc or delete all with rcdn! See man rcup for the full feature set.

Update

Do once:

cd ~/Development/dotfiles/thoughtbot
git remote add upstream [email protected]:thoughtbot/dotfiles.git

Each time you want to update from upstream/master:

git fetch upstream
git rebase upstream/master

To install more or update VIM plugins do

rcup
vim$ :PlugInstall

You can safely run $ rcup multiple times to update.

What's in it?

zsh configuration:

  • b for bundle.
  • g with no arguments is git status and with arguments acts like git.
  • migrate for bin/rails db:migrate db:rollback && bin/rails db:migrate db:test:prepare.
  • mcd to make a directory and change into it.
  • replace foo bar **/*.rb to find and replace within a given list of files.
  • tat to attach to tmux session named the same as the current directory.
  • v for $VISUAL.
  • local additions

tmux configuration:

  • Improve color resolution.
  • Remove administrative debris (session name, hostname, time) in status bar.
  • Set prefix to Ctrl+s
  • Soften status bar color from harsh green to light gray.

git configuration:

  • Adds a create-branch alias to create feature branches.
  • Adds a delete-branch alias to delete feature branches.
  • Adds a merge-branch alias to merge feature branches into master.
  • Adds an up alias to fetch and rebase origin/master into the feature branch. Use git up -i for interactive rebases.
  • Adds post-{checkout,commit,merge} hooks to re-index your ctags.
  • Adds pre-commit and prepare-commit-msg stubs that delegate to your local config.
  • Adds trust-bin alias to append a project's bin/ directory to $PATH.
  • local additions:
    • Adds a l alias for tight, colored, log output
    • configures 'name and email'

Ruby configuration:

  • Add trusted binstubs to the PATH.
  • Load the ASDF version manager.

vim configuration:

  • fzf for fuzzy file/buffer/tag finding.
  • Rails.vim for enhanced navigation of Rails file structure via gf and :A (alternate), :Rextract partials, :Rinvert migrations, etc.
  • Run many kinds of tests from vim
  • Set <leader> to a single space.
  • Switch between the last two files with space-space.
  • Syntax highlighting for Markdown, HTML, JavaScript, Ruby, Go, Elixir, more.
  • Use Ag instead of Grep when available.
  • Map <leader>ct to re-index ctags.
  • Use vim-mkdir for automatically creating non-existing directories before writing the buffer.
  • Use vim-plug to manage plugins.
  • local added plugins:

Credits

Thanks to ThoughtBot and all contributors!

These dotfiles are free software and may be redistributed under the terms specified in the LICENSE.

Releases

No releases published

Packages

No packages published

Languages