- Install packages
brew install neovim --HEAD
brew install yazi --HEAD
brew install wezterm fish
- Install fisher, tpm
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
- Set up the symlink farm using GNU Stow for managing dotfiles
stow . --target=$HOME
-
GNU stow
for managing dotfiles -
mise
for managing dev tools or runtimes (think about nvm, etc.) -
pixi
as a multi-language package manager (thiking about conda) -
uv
as a drop-in replacement for pip -
mamba
(viaminiforge
) as a drop-in replacement for conda -
neovim (nightly)
for text editing -
fish
as a command-line shell -
fisher
as a pluginer manager for fish -
wezterm
for terminal emulator -
yazi
as a file manager -
lazygit
for git TUI -
delta
for git diff -
fzf
for fuzzy finder -
duf
for a better df -
dust
for a better du -
fd
for a better find -
ripgrep
for a better grep -
eza
for a better ls -
bat
for a better cat -
hyperfine
for benchmarking -
zoxide
for cd based on frecency -
glow
for markdown (.md) preview -
miller
for CSV, TSV, and tabular JSON preview -
tokei
for code statistics (LOCs, # of files, etc.) -
i3
-gaps as a window management -
polybar
for top bar -
compton
for enabling transparency with urxvt, and shadows -
dunst
for notification server -
Xbindkeys
for binding special keys -
imagemagick
for every possible image manipulation -
zathura
as a PDF viewer
feh --randomize --bg-fill $HOME/.wallpapers/*
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'"