vc-home 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:
- Automatically download and setup
vcshandmrby fetching files via curl/wget and git. - Sets up
.local/binfor local binaries and shell scripts (added toPATH) - vcsh hooks setup to:
- Enable sparse checkout.
- Ignore
README,LICENSEand other common development files. - Make backup copies of files that would be overwritten when cloning.
- Repositories can have
.gitignorefiles stored in.gitignore.d/<repo-name>of every repository
- mr
.mrconfigsetup to source files in:.config/mr/config.d(for vcsh repositories) This allows any repositories to extendmrconfiguration further.
- Autocomplete commands and list of repositories to clone for zsh
curlorwgetgitrenamefor one hook that is triggered if the paths of cloned files are busylynxandjqorghautorization to parsing the list of repositories for autocomplete
Run vc-home bootstrap via this curl one-liner:
$ curl https://raw.githubusercontent.com/svrvt/vc/main/bin/vc-home | bash -s bootstrap
You can use vc-home to clone vcsh repositories:
$ vc-home clone awesome #relevant to "vcsh clone https://github.com/svrvt/vc_awesome"
vc-home supports the following commands:
bootstrap- used to bootstrap vcsh, mr and bootstrap vc.clone <Tab>- used to clone vcsh repositories.mr cois always run at the end.verify- used to verify existingvc-homesetup.help- show help
Examples:
$ vc-home clone rofi #relevant to "vcsh clone https://github.com/svrvt/vc_rofi"
$ vc-home verify
$ vc-home help
Copyright (c) 2024 Rustam Uzairov svrvt/vc
Copyright (c) 2024 Caleb Maclennan for pre/post-merge-unclobber hooks, que supporting script and idea for organize repo.
Copyright (c) 2016-2022 ek9 for vcsh-dotfiles script and SparseCheckout hooks.
Copyright (c) 2011-2015 Vincent Demeester for portions of code from vdemeester/vcsh-home project.
TBA