From a42f75123cdf6935d37bfff45f48da852fed55e3 Mon Sep 17 00:00:00 2001 From: Tim Byrne Date: Sun, 5 Feb 2017 16:39:31 -0600 Subject: [PATCH] Add bootstrap info to website --- _data/navigation.yml | 2 + _docs/035_common_usage.md | 4 + _docs/037_bootstrap.md | 168 ++++++++++++++++++++++++++++++++++++++ _docs/060_faq.md | 11 +++ _pages/main.md | 13 +++ images/clock-padding.png | Bin 0 -> 16749 bytes images/clock.png | Bin 0 -> 14643 bytes images/tasks-padding.png | Bin 0 -> 8429 bytes images/tasks.png | Bin 0 -> 7083 bytes 9 files changed, 198 insertions(+) create mode 100644 _docs/037_bootstrap.md create mode 100644 images/clock-padding.png create mode 100644 images/clock.png create mode 100644 images/tasks-padding.png create mode 100644 images/tasks.png diff --git a/_data/navigation.yml b/_data/navigation.yml index 38de84c..07479a4 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -28,6 +28,8 @@ docs: url: /docs/common_commands - title: Advanced Features children: + - title: "Bootstrap" + url: /docs/bootstrap - title: "Alternate Files" url: /docs/alternates - title: "Encryption" diff --git a/_docs/035_common_usage.md b/_docs/035_common_usage.md index ff6a596..e66e03c 100644 --- a/_docs/035_common_usage.md +++ b/_docs/035_common_usage.md @@ -53,6 +53,10 @@ about [encryption](encryption) for more details. only list the files (without decrypting them). Read about [encryption](encryption) for more details. + `yadm clone --bootstrap ` +: Clone the repository from ``, and automatically run bootstrap if +successful. Read about [bootstrap](bootstrap) for more details. + `yadm remote -v` : Display detailed information about all configured remote repositories. diff --git a/_docs/037_bootstrap.md b/_docs/037_bootstrap.md new file mode 100644 index 0000000..978c435 --- /dev/null +++ b/_docs/037_bootstrap.md @@ -0,0 +1,168 @@ +--- +title: "Bootstrap" +permalink: /docs/bootstrap +--- + +Often there is more to set up once your dotfiles repository has been cloned. For +example, if your repository has submodules, you may wish to initialize them. On +MacOS, you may wish to install **Homebrew** and process a `.Brewfile`. These types +of additional steps are generally referred to as "bootstrapping". + +Though everyone may have a different set of bootstrap operations they need to +perform, **yadm** has a standard command for executing them. + + yadm bootstrap + +This command will execute the program named `$HOME/.yadm/bootstrap`. You must +provide this program yourself, and it must be made executable. But those are the +only constraints. + +After **yadm** successfully clones a repository, if there is a bootstrap program +available, it will offer to run it for you. + + Found .yadm/bootstrap + It appears that a bootstrap program exists. + Would you like to execute it now? (y/n) + +You can prevent this prompting by using the `--bootstrap` or `--no-bootstrap` +options when cloning. + +It is best to make the logic of your bootstrap idempotent—allowing it to be +re-run in the future when you merge changes made on other hosts. + +## Examples + +Curious about the possibilities? See some examples below. These are all written +in Bash, but you can use any executable file as a bootstrap. + +### Initialize submodules + +If you've added repositories as submodules for the **yadm** repository, you can +initialize them after a successful clone. + +```bash +#!/bin/bash + +echo "Init submodules" +yadm submodule update --recursive --init +``` + +### Install [Homebrew](http://brew.sh/) and a bundle of recipes + +```bash +#!/bin/bash + +system_type=$(uname -s) + +if [ "$system_type" = "Darwin" ]; then + + # install homebrew if it's missing + if ! command -v brew >/dev/null 2>&1; then + echo "Installing homebrew" + /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + fi + + if [ -f "$HOME/.Brewfile" ]; then + echo "Updating homebrew bundle" + brew bundle --global + fi + +fi +``` + +### Configure [iTerm2](http://www.iterm2.com/) to use your configuration + +```bash +#!/bin/bash + +system_type=$(uname -s) + +if [ "$system_type" = "Darwin" ]; then + + # possibly add something here to ensure iTerm2 is installed using Homebrew + # cask like in the previous example + + if [ -d "$HOME/.iterm2" ]; then + echo "Setting iTerm preference folder" + defaults write com.googlecode.iterm2 PrefsCustomFolder "$HOME/.iterm2" + fi + +fi +``` + +### Compile a custom terminfo file + +```bash +#!/bin/bash + +if [ -f "$HOME/.terminfo/custom.terminfo" ]; then + echo "Updating terminfo" + tic "$HOME/.terminfo/custom.terminfo" +fi +``` + +### Update the **yadm** repo origin URL + +You might initially clone your repo using `https`, but ssh configurations may be +available after cloning. If so, you could update the **yadm** repo origin to use +`ssh` instead. + +```bash +#!/bin/bash + +echo "Updating the yadm repo origin URL" +yadm remote set-url origin "git@github.com:MyUser/dotfiles.git" +``` + +### Install [vim](http://www.vim.org/) plugins managed with [vim-plug](https://github.com/junegunn/vim-plug) + +**vim-plug** can be used in your `.vimrc` to enable plugins. The example here will +automatically download **vim-plug** and run the `:PlugInstall` command if +**vim-plug** is missing when **vim** starts. + +```vim +" download vim-plug if missing +if empty(glob("~/.vim/autoload/plug.vim")) + silent! execute '!curl --create-dirs -fsSLo ~/.vim/autoload/plug.vim https://raw.github.com/junegunn/vim-plug/master/plug.vim' + autocmd VimEnter * silent! PlugInstall +endif + +" declare plugins +silent! if plug#begin() + + Plug 'airblade/vim-gitgutter' + Plug 'c9s/perlomni.vim', { 'for': 'perl' } + Plug 'ctrlpvim/ctrlp.vim' + Plug 'vim-syntastic/syntastic' + Plug 'yggdroot/indentLine' + + " ignore these on older versions of vim + if v:version >= 703 + Plug 'gorodinskiy/vim-coloresque' + Plug 'jamessan/vim-gnupg' + endif + if v:version >= 704 + Plug 'vim-pandoc/vim-pandoc-syntax' + endif + + call plug#end() +endif +``` + +You can enhance this scheme by having your bootstrap program initialize +**vim-plug** when you clone, instead of when you first run **vim**. This example +will install any new plugins, and also remove any plugins now deleted from your +`.vimrc`. + +```bash +#!/bin/bash + +if command -v vim >/dev/null 2>&1; then + echo "Bootstraping Vim" + vim '+PlugUpdate' '+PlugClean!' '+PlugUpdate' '+qall' +fi +``` + +--- + +_If you have suggestions for useful bootstrapping logic, let me know..._ diff --git a/_docs/060_faq.md b/_docs/060_faq.md index f6d1b69..7a18806 100644 --- a/_docs/060_faq.md +++ b/_docs/060_faq.md @@ -94,6 +94,17 @@ like the rest of your dotfiles). [This page](examples) contains some examples. +## Bootstrapping + +### Do I need to write my bootstrap in Bash? + +No. Any executable file can be used as a bootstrap. It's up to you to decide +what works best. + +### I've created a bootstrap program. Should I add that to my repository? + +Absolutely. That will allow your bootstrap program to be executed each time you +clone your repository. Read [bootstrap](bootstrap) for more details. ## Encryption diff --git a/_pages/main.md b/_pages/main.md index ce33de6..769cc5f 100644 --- a/_pages/main.md +++ b/_pages/main.md @@ -68,6 +68,19 @@ feature_row: add such files to an encrypted archive, which can be maintained alongside your other configurations. + ' + - title: "Bootstrap" + alt: "" + btn_class: "btn--inverse" + btn_label: "Explore how" + image_path: "tasks-padding.png" + url: "/docs/bootstrap" + excerpt: ' + + Define your own instructions to complete your dotfiles installation. + If provided, **yadm** can execute your custom program immediately + following a successful clone. + ' - title: "FAQ" alt: "" diff --git a/images/clock-padding.png b/images/clock-padding.png new file mode 100644 index 0000000000000000000000000000000000000000..04ea0e45cd61d7e6f978849a61eb29a9230ac936 GIT binary patch literal 16749 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 literal 0 HcmV?d00001 diff --git a/images/tasks-padding.png b/images/tasks-padding.png new file mode 100644 index 0000000000000000000000000000000000000000..49866e3ae18f562fda6e177ca43e8112c7a0aeaf GIT binary patch literal 8429 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