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 winget
Launch PowerShell 7 and install Scoop:
Set-ExecutionPolicy -Scope CurrentUser Bypass
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
This will also install Git.
Clone the repo:
git clone https://github.com/shyun3/dotfiles.git $Env:UserProfile/.config/dotdrop
Run 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 --install
Install dotdrop
:
sudo apt update
sudo apt install dotdrop
Clone the repo:
git clone [email protected]:shyun3/dotfiles.git ~/.config/dotdrop
To install or update the dotfiles, call dotdrop
as listed below.
dotdrop -p windows install
PowerShell may need restarting to apply all changes.
If using WSL, apply the following first:
sudo env HOME="$HOME" "$(which dotdrop)" -p wsl-root install
WSL 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 install
Zsh 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
- ~/personal
The 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
:checkhealth
to see if there are issues that need resolving - See
$VIMRUNTIME
to access Neovim source files
- 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