Skip to content

neybar/dotfiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

875 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neybar's dotfiles

Installation

ZSH

The dotfiles use ZSH with oh-my-zsh. To get started, install oh-my-zsh:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Machine-specific ZSH Configuration

To keep local changes separate from the tracked dotfiles, use ~/.zshrc.local. This file is sourced by .zshrc before oh-my-zsh loads, so you can:

  • Add machine-specific PATH entries:

    export PATH="$HOME/.local/bin:$PATH"
  • Add local plugins without modifying the repo:

    plugins+=(nvm docker kubectl)
  • Add custom ZSH functions and aliases in ~/Projects/dotfiles/zsh_custom/ with a .local.zsh suffix (e.g., functions.local.zsh) — these are ignored by git and only loaded on your machine.

Using Git and the bootstrap script

You can clone the repository wherever you want. (I like to keep it in ~/Projects/dotfiles, with ~/dotfiles as a symlink.) The Makefile will pull in the latest version and copy the files to your home folder.

git clone https://github.com/neybar/dotfiles.git && cd dotfiles && git submodule update --init --recursive && make install

To update, cd into your local dotfiles repository and then:

make update

Available Make targets

  • make diff — Preview which files would be changed (quick summary)
  • make diff-long — Show detailed diffs of all changes before applying them
  • make copy — Copy dotfiles to home directory without running installers
  • make install — Run make copy, update vim plugins, and configure git

If you're making local changes and just want to copy files into place:

make diff        # Review changes first
make diff-long   # See detailed diffs if needed
make copy        # Apply the changes

Git-free install

To install these dotfiles without Git:

cd; curl -#L https://github.com/neybar/dotfiles/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,Makefile,LICENSE-MIT.txt}

To update later on, just run that command again. (make won't work for the git-free install very well)

Specify the $PATH

Edit ~/.zshrc.local to add machine-specific PATH entries. Since .zshrc.local is sourced before oh-my-zsh loads, you can set PATH variables that affect your shell:

export PATH="$HOME/utils:$PATH"

Add custom commands without creating a new fork

Use ~/.zshrc.local to add custom commands, aliases, and environment variables without forking the repository. See the examples above in the ZSH section.

For machine-specific custom ZSH scripts, place files in ~/Projects/dotfiles/zsh_custom/ with a .local.zsh suffix — these are git-ignored and won't be committed.

Machine-specific Git Configuration

During make install, you'll be prompted to configure your Git user name and email. This setup also configures Git to include the .gitconfig file from your dotfiles repository, allowing you to:

  • Keep custom Git commands and aliases synced across all your machines
  • Keep machine-specific settings separate (user name, email, signing keys, etc.)

Your ~/.gitconfig contains your local, machine-specific settings. The dotfiles .gitconfig is automatically included via Git's include.path feature, so your custom aliases and commands are available in every repository.

If you need to update the include path after installation:

git config --global include.path ~/Projects/dotfiles/.gitconfig

If you want to maintain your own customizations long-term, consider forking this repository.

Sensible OS X defaults

When setting up a new Mac, you may want to set some sensible OS X defaults:

./.osx

Note: I haven't run the .osx script for a while. I mostly keep it for reference so I can apply settings when needed. Not all of the settings in this file are needed.

Install Homebrew formulae

When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):

brew update
brew upgrade
brew bundle ~/Brewfile

After getting homebrew setup, you can maintain your brews with

brewski

This will run homebrews' update, upgrade, cu, and then cleanup commands

Feedback

Suggestions/improvements welcome!

Thanks to…

About

.files, including ~/.osx — sensible hacker defaults for OS X

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Vim Script 51.4%
  • Shell 42.1%
  • Perl 2.3%
  • Vim Snippet 2.2%
  • Ruby 1.1%
  • Makefile 0.9%