- 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-
justas a command runner -
GNU stowfor managing dotfiles -
neovim (nightly)for text editing -
fishas a command-line shell -
fisheras a pluginer manager for fish -
weztermfor terminal emulator -
yazias a file manager -
unaras Yazi's archive extractor -
lazygitfor git TUI -
deltafor git diff -
fzffor fuzzy finder -
televisionfor fuzzy finding in terminal UIs -
sdfor a better sed -
duffor a better df -
dustfor a better du -
fdfor a better find -
ripgrepfor a better grep -
ezafor a better ls -
batfor a better cat -
hyperfinefor benchmarking -
zoxidefor cd based on frecency -
uvas a drop-in replacement for pip -
mamba(viaminiforge) as a drop-in replacement for conda -
misefor managing dev tools or runtimes (think about nvm, etc.) -
pixias a multi-language package manager (thiking about conda) -
glowfor markdown (.md) preview -
millerfor CSV, TSV, and tabular JSON preview -
tokeifor code statistics (LOCs, # of files, etc.) -
i3-gaps as a window management -
polybarfor top bar -
comptonfor enabling transparency with urxvt, and shadows -
dunstfor notification server -
Xbindkeysfor binding special keys -
imagemagickfor every possible image manipulation -
zathuraas a 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