/shundle

shundle is a plugin manager for general purpose shells

Primary LanguageShell

About

Shundle is short for sh bundle and is a sh plugin manager.

shundle

Quick start

  1. Set up Shundle:

    $ git clone --depth=1 https://github.com/javier-lopez/shundle ~/.shundle/bundle/shundle
    
  2. Configure bundles:

    Sample .bashrc (if not using bash use your shell init profile):

    if [ -f ~/.shundle/bundle/shundle/shundle ]; then
        .  ~/.shundle/bundle/shundle/shundle
        #let shundle manage shundle, required!
        Bundle='javier-lopez/shundle'
            #options
            SHUNDLE_ENV_COLOR=1
    
        #from GitHub
        Bundle='gh:javier-lopez/shundle-plugins/eternalize'
        Bundle='github:javier-lopez/shundle-plugins/colorize:master'
        Bundle='github:javier-lopez/shundle-plugins/autocd:f7916'
        Bundle='https://github.com/javier-lopez/shundle-plugins/aliazator.git'
            ALIAZATOR_PLUGINS="installed"
    
        #from non GitHub
        #Bundle='git://git.domain.com/rep.git'
    
        #from the web
        #Bundle='http://domain.com/awesome-script'
    
        #from the file system
        #Bundle='file://path/to/script'
    fi
    
    # Brief help
    # shundle list         - list installed bundles
    # shundle install      - install configured bundles
    # shundle search       - search for foo in github (experimental)
    # shundle clean        - confirm (or auto-approve) removal of unused bundles
    #
    # run shundle without parameters for more details or see the wiki for FAQ
    #
  3. Install configured bundles:

    $ . ~/.bashrc
    $ shundle install
    $ . ~/.bashrc
    

    Installation requires Git and triggers git clone for each configured repo to ~/.shundle/bundle/.

Uninstalling

If by any reason you dislike Shundle you can uninstall it by removing the top shundle directory:

$ rm -rf ~/.shundle

Please drop me an email with your suggestions or open an issue describing the problems you faced.

Contributors

See Shundle contributors

Thank you!

Inspiration and ideas from

Also

  • Shundle was developed and tested with Bash 4.2 on Linux
  • Shundle will try to run in as many platforms & shells as possible
  • Shundle tries to be as KISS as possible

TODO:

Shundle is a work in progress, so any ideas and patches are appreciated.

  • write documentation
  • improve install|update visualization
  • tests
  • improve error handling
  • make it rock!