Clone this repo with all of its submodules, and update the submodules to their latest version:
git clone --recurse-submodules --remote-submodules --jobs 8 https://github.com/alex-ortan/dotfiles ~/dotfiles
git submodule sync
git submodule update --init --recursive --remote --merge --jobs 8
git pull --recurse-submodules
Create a .secrets
file where you define all the variables needed to fill in the .template
files. Here's an example, but modify the values as needed:
DWD="/home/alex/MyFavoriteDirectory"
GITHUB_NAME="alex-ortan"
GITHUB_EMAIL="aortan@umn.edu"
GITHUB_OLD_URL="https://github.com"
GITHUB_NEW_URL='"https://github.com"'
GITHUB_PROXY=""
etc
Install dotfiles with bashdot.
env env $(cat .secrets | xargs) bashdot/bashdot install default
This command is idempotent - meaning in particular that you can rerun it without side effects.
To make your github development life easier, you'll want to create a personal access token for every device you clone repos on, if you din't already. This token will allow you to access github without typing credentials everytime.
To use this token, either use secure single sign-on (SAML SSO) if your github instance supports it. Otherwise, you can add it manually to each repository's remote URL like so:
git remote rm origin
git remote add origin https://alex-ortan:<YOURTOKEN>@github.com/alex-ortan/dotfiles.git
git push --set-upstream origin main
In some cases, say if you commit to both a work and personal github account, you'll want to change the name/email you use for a specific repository to values other than the ones in the globel .gitcinfig
file. To do that, edit the .git/config
file inside each repository where you want custom values to add these lines:
[user]
name = alex-ortan
email = aortan@umn.edu
Install vim plugins with minpac by opening a vim editor and execute these commands to add the plugins and then check they're correctly installed. These commands are defined in the vimrc
file.
:PackUpdate
:PackStatus