/vcsh-dotfiles

simplify the bootstrap procedure of managing your dotfiles with vcsh

Primary LanguageShell

vcsh-dotfiles

vcsh-dotfiles aims to simplify the bootstrap procedure of managing your dotfiles with vcsh. It sets up vcsh, mr, adds usable hooks and lays down simple directory that vcsh repositories can follow.

It is inspired by the bootstrap script in vdemeester/vcsh-home repository. You can check ek9/dotfiles for various repositories that use vcsh-dotfiles.

Features

  • Automatically download and setup vcsh and mr by fetching files via curl/wget and git.
  • Sets up .local/bin for local binaries and shell scripts (added to PATH)
  • vcsh hooks setup to:
    • Enable sparse checkout.
    • Ignore README, LICENSE and other common development files.
    • Make backup copies of files that would be overwritten when cloning.
    • Repositories can have .gitignore files stored in .gitignore.d/<repo-name> of every repository
  • mr .mrconfig setup to source files in:
    • .config/mr/config.d (for vcsh repositories) This allows any repositories to extend mr configuration further.

asciicast

Change Log

Please see CHANGELOG.md for information on recent changes.

Requirements

  • curl or wget
  • git

Install

Run vcsh-dotfiles bootstrap via this curl one-liner:

$ curl https://raw.githubusercontent.com/ek9/vcsh-dotfiles/main/.local/bin/vcsh-dotfiles | bash -s bootstrap

Source ~/.profile to make sure PATH is updated:

$ source ~/.profile

Run mr update to verify the boostrap:

$ mr update

Usage

You can use vcsh-dotfiles to clone vcsh repositories:

$ vcsh-dotfiles clone https://github.com/ek9/shell-config

vcsh-dotfiles supports the following commands:

  • bootstrap - used to bootstrap vcsh, mr and bootstrap vcsh-dotfiles.
  • clone - used to clone vcsh repositories. mr update is always run at the end. Will not try to clone already cloned repository.
  • verify - used to verify existing vcsh-dotfiles setup.
  • help - show help

Examples:

$ vcsh-dotfiles clone https://github.com/ek9/shell-config
$ vcsh-dotfiles verify
$ vcsh-dotfiles help

You can check ek9/dotfiles for various repositories that use vcsh-dotfiles.

Authors

Copyright (c) 2016-2017 ek9 dev@ek9.co (https://ek9.co).

Copyright (c) 2011-2015 Vincent Demeester for portions of code from vdemeester/vcsh-home project.

License

TBA