This project uses dotdrop.
The following instructions assume a first-time setup is being performed.
First, install PowerShell 7 using cmd or powershell:
winget install --id Microsoft.PowerShell --source wingetLaunch PowerShell 7 and install Scoop:
Set-ExecutionPolicy -Scope CurrentUser Bypass
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-ExpressionThis will also install Git.
Clone the repo:
git clone https://github.com/shyun3/dotfiles.git $Env:UserProfile/.config/dotdropRun bootstrap.ps1. This will install dotdrop and all dependencies. Restart
PowerShell to apply any changes to PATH.
Assuming the Windows steps above were completed, install WSL using pwsh in
administrator mode:
wsl --installInstall dotdrop:
sudo apt update
sudo apt install dotdropClone the repo:
git clone [email protected]:shyun3/dotfiles.git ~/.config/dotdropTo install or update the dotfiles, call dotdrop as listed below.
dotdrop -p windows installPowerShell may need restarting to apply all changes.
If using WSL, apply the following first:
sudo env HOME="$HOME" "$(which dotdrop)" -p wsl-root installWSL needs restarting to apply all changes. A distribution can be shutdown in
PowerShell by running wsl --terminate <distroName>.
For all Linux distributions:
dotdrop -p linux installZsh may need restarting to apply all changes.
The examples directory may also contain several tips, see its corresponding README.
Add .local_vars.yaml under the repo root with the global Git user details
defined:
variables:
git_name: My Name
git_email: [email protected]Run dotdrop install to regenerate the gitconfig.
Alternatively, if per-directory user details are desired then Git profiles may be specified. For example:
variables:
git_name: My Name
git_profiles:
- ~/projects
- ~/personalThe email may be set for any repos under the listed directories by including it
in a .gitprofile:
git config -f ~/projects/.gitprofile user.email [email protected]
git config -f ~/personal/.gitprofile user.email [email protected]- Run
:checkhealthto see if there are issues that need resolving - See
$VIMRUNTIMEto access Neovim source files - To activate Gutentags operation, create an appropriate
.gutctagsfile, then reload the buffer being edited with:e(to trigger theBufReadPostevent, see code). Finally, run:GutentagsUpdate!. - To activate projectionist functionality, create an appropriate
.projections.jsonfile, then run:filetype detecton the buffer of interest (to trigger theFileTypeevent, see code).
- To regenerate dynamic profiles that have been deleted, remove
$Env:LocalAppData\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\state.json
- If Windows applications cannot be called from WSL, try entering the
following:
Taken from this comment. More details can be found in issue #8843.
sudo systemctl mask systemd-binfmt.service
- Place machine-specific settings in
~/.zshenv, e.g.:$path=(/path/to/dir $path)- SSH identities, see Oh My Zsh plugin