dotstrap (legacy)
This repository has been deprecated. See: dotstrap/dotstrap for the newer version.
Downloads repositories from GitHub in parallel and symbolically links and/or
creates a file to be sourced in your ~/.zshrc
, ~/.bash_profile
, or ~/.config/fish/config.fish
get it
gem install dotstrap
or stay on the bleeding edge:
requires bundler
git clone https://github.com/mwilliammyers/dotstrap.git
rake install
use it
download (or update) and configure REPOs
:
dotstrap install REPO|FILE
completely remove any symbolic links, source
statements from dotstrap's config file, & the repository itself:
dotstrap uninstall REPO
list the URL and install path for all currently installed repositories:
dotstrap list [REPO]
REPO
is a GitHub clone URL or repository slug like mwilliammyers/dotstrap-osx
FILE
is a newline separated list of REPOS
how it works
bash
add source "$XDG_CONFIG_HOME/dotstrap/config.bash"
to your ~/.bash_profile
or similar
-
*.bash
files' paths are written to:$XDG_CONFIG_HOME/dotstrap/config.bash
-
*.sh
files' paths are written to:$XDG_CONFIG_HOME/dotstrap/config.bash
zsh
add source "$XDG_CONFIG_HOME/dotstrap/dotstrap.zsh"
to your ~/.zshrc
-
*.zsh
files' paths are written to:$XDG_CONFIG_HOME/dotstrap/config.zsh
-
*.sh
files' paths are written to:$XDG_CONFIG_HOME/dotstrap/config.zsh
fish
add source "$XDG_CONFIG_HOME/dotstrap/config.fish"
to your ~/.config/fish/config.fish
-
./functions/*.fish
are symbolically linked under~/.config/fish/functions/
-
./completions/*.fish
are symbolically linked under~/.config/fish/completions/
- all other
*.fish
files' paths are written to:$XDG_CONFIG_HOME/dotstrap/config.fish
Note: if $XDG_CONFIG_HOME
is not set, it defaults to ~/.config
. Read about the XDG base directory spec.
in the wild
The entire purpose of dotstrap
is to help you make your dotfiles modular while still keeping your prompt speedy. I also wanted to be able to use my dotfiles on bash, zsh and fish (yes I use all three on a daily basis).
There are many repositories out there that will work out of the box with dotstrap
and many more that would only require minimal tweaking to get them to work.
Check out the wiki for a good list of repos to get you started.
similar projects
- antibody: super fast, great app written in go. It only does ZSH and it is dynamic (it doesn't create a static file that can be sourced from your shell's init file), but man those microseconds are precious when it comes to loading my shell prompt. I still use it sometimes though because it is pretty dang cool.