Skip to content

Repository files navigation

dotfiles

Installation

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

Tools

Dotfile management

Tool Purpose
just Command runner
GNU stow Symlink farm for managing dotfiles

Shell & editing

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

Command-line utilities

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.)

Languages & packages

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)

macOS

Tool Purpose
Alcove MacBook notch (Dynamic Island-style media & battery activities); boring.notch is a free & open-source alternative

Linux desktop

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

Git Ignore

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'"

Windows

Open Command Prompt with Administrator privileges.

Git

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/gpg2

Wezterm

mkdir %USERPROFILE%\.config
mklink /D %USERPROFILE%\.config\wezterm D:\dev\dotfiles\.config\wezterm

Zed

Zed 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"

Television

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"

AutoHotkey

mklink "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\mie.ahk" "D:\dev\dotfiles\AutoHotkey\mie.ahk"

Open PowerShell

PowerShell profile, a script that runs when PowerShell starts

New-Item -Path $PROFILE -ItemType SymbolicLink -Value D:\dev\dotfiles\PowerShell\profile.ps1

About

My Linux ricing configuration files

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages