- Install
just
brew install just- Create the symlink farm, and then after this we can use the global justfile
just -f ~/dev/dotfiles/.config/just/justfile stow- Install packages
just -g install- Set up the symlink farm using GNU Stow for managing dotfiles
just -g stow- Install Claude Code config
stow -d ~/dev/dotfiles -t "$HOME" claude- Install yazi plugins
just -g install-yazi| Tool | Purpose |
|---|---|
just |
Command runner |
GNU stow |
Symlink farm for managing dotfiles |
| Tool | Purpose |
|---|---|
neovim (nightly) |
Text editing |
fish |
Command-line shell |
fisher |
Plugin manager for fish |
wezterm |
Terminal emulator |
yazi |
File manager |
unar |
Yazi's archive extractor |
| Tool | Purpose |
|---|---|
lazygit |
Git TUI |
delta |
Git diff |
fzf |
Fuzzy finder |
television |
Fuzzy finding in terminal UIs |
sd |
A better sed |
duf |
A better df |
dust |
A better du |
fd |
A better find |
ripgrep |
A better grep |
eza |
A better ls |
bat |
A better cat |
zoxide |
cd based on frecency |
hyperfine |
Benchmarking |
glow |
Markdown (.md) preview |
miller |
CSV, TSV, and tabular JSON preview |
tokei |
Code statistics (LOCs, # of files, etc.) |
| Tool | Purpose |
|---|---|
uv |
Drop-in replacement for pip |
mamba (via miniforge) |
Drop-in replacement for conda |
fnm |
Node.js versions, auto-switches on cd via .node-version/.nvmrc |
pixi |
Multi-language package manager (thinking about conda) |
| Tool | Purpose |
|---|---|
Alcove |
MacBook notch (Dynamic Island-style media & battery activities); boring.notch is a free & open-source alternative |
| Tool | Purpose |
|---|---|
i3-gaps |
Window management |
polybar |
Top bar |
compton |
Transparency with urxvt, and shadows |
dunst |
Notification server |
Xbindkeys |
Binding special keys |
imagemagick |
Every possible image manipulation |
zathura |
PDF viewer |
We need to define a git filter to ignore specific lines, in this case, lines that contain the ;gitignore text.
This is really useful for ignoring some credentials that might be present in the files.
git config filter.gitignore.clean "sed '/;gitignore\$/d'"
# or
git config --global filter.gitignore.clean "sed '/;gitignore\$/d'"Open Command Prompt with Administrator privileges.
In Windows,
mklink "%USERPROFILE%\.gitconfig" "D:\dev\dotfiles\.gitconfig"In WSL2,
sudo ln -s /mnt/c/Program\ Files/Git/usr/bin/gpg.exe /usr/local/bin/gpg
sudo ln -s gpg /usr/local/bin/gpg2mkdir %USERPROFILE%\.config
mklink /D %USERPROFILE%\.config\wezterm D:\dev\dotfiles\.config\weztermZed stores user config on Windows in %APPDATA%\Zed. Link the individual
config files so local data under that directory, such as themes or generated
state, can stay there.
Open Command Prompt with Administrator privileges.
mkdir "%APPDATA%\Zed"
mklink "%APPDATA%\Zed\settings.json" "D:\dev\dotfiles\.config\zed\settings.json"
mklink "%APPDATA%\Zed\keymap.json" "D:\dev\dotfiles\.config\zed\keymap.json"
mklink "%APPDATA%\Zed\tasks.json" "D:\dev\dotfiles\.config\zed\tasks.json"Without Administrator privileges, move any existing %APPDATA%\Zed directory
out of the way and use a directory junction instead.
move "%APPDATA%\Zed" "%APPDATA%\Zed.backup"
mklink /J "%APPDATA%\Zed" "D:\dev\dotfiles\.config\zed"Install Television with its file-listing and preview dependencies, then link its Windows config directory.
winget install --id alexpasmantier.television
winget install --id sharkdp.fd
winget install --id sharkdp.bat
mkdir "%LOCALAPPDATA%\television"
mklink /J "%LOCALAPPDATA%\television\config" "D:\dev\dotfiles\.config\television"mklink "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\mie.ahk" "D:\dev\dotfiles\AutoHotkey\mie.ahk"Open PowerShell
New-Item -Path $PROFILE -ItemType SymbolicLink -Value D:\dev\dotfiles\PowerShell\profile.ps1