Project

dotstrap

0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
bootstrap your shell dotfiles in parallel from GitHub repos
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0
~> 2.0
~> 3.12
~> 3.3
~> 0.10
~> 0.7

Runtime

~> 0.7
~> 1.6
~> 0.19
 Project Readme

dotstrap (legacy)

Gem Version Build Status Code Climate Inline docs Dependency Status

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.