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 --installClone the repo:
git clone git@github.com:shyun3/dotfiles.git ~/.config/dotdropGet a temporary copy of dotdrop:
git clone --depth=1 https://github.com/deadc0de6/dotdrop.git /tmp/dotdrop
cd /tmp/dotdrop
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtThe installation process will include a permanent version of dotdrop.
To 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 ./dotdrop.sh -c ~/.config/dotdrop/config.yaml -p wsl-root installWSL needs restarting to apply all changes. A distribution can be shutdown in
PowerShell by running wsl --terminate <distroName>.
Then, install the Linux dotfiles (tested on Ubuntu):
./dotdrop.sh -c ~/.config/dotdrop/config.yaml -p linux install
deactivateZsh may need restarting to apply all changes.
The examples directory may also contain several tips, see its corresponding README.
Also, the wiki has a lot of useful info.
Make sure to specify the user name and email. This can be done with scoped configs, see example. If the same user name will be used for all repos, a separate config can be created, e.g.:
# ~/.config/jj/conf.d/02-default-config.toml
[user]
name = "My Name"Add .local_vars.yaml under the repo root with the global Git user details
defined:
variables:
git_name: My Name
git_email: name@email.tldRun 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 real@work.tld
git config -f ~/personal/.gitprofile user.email fake@priv.tld- Run
:checkhealthto see if there are issues that need resolving