Skip to main content

Toolchain

Modern

scoop install mise zoxide bat eza delta dust duf fd ripgrep fzf jq fx tlrc bottom gping procs curlie
eval "$(mise activate bash)"
eval "$(uv generate-shell-completion bash)"
eval "$(uvx --generate-shell-completion bash)"
eval "$(zoxide init bash)"
eval "$(fzf --bash)"
source <(fx --comp bash)

bind 'set bell-style none'

# Use fd for listing path candidates
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
}

# Use fd for list directory candidates
_fzf_compgen_dir() {
fd --type d --hidden --follow --exclude ".git" . "$1"
}

alias app="scoop"
alias cc="claude"
alias ccc="claude -c"
alias ccm="claude -p 'commit'"
alias code="cursor"
alias np="pnpm"
alias vim="nvim"

alias cd="z"
alias cat="bat"
alias ls="eza"
alias du="dust"
alias df="duf"
alias find="fd --hidden --follow --exclude .git"
alias grep="rg"
alias man="tldr"
alias top="btm"
alias ping="gping"
alias ps="procs"
alias curl="curlie"

export FZF_DEFAULT_COMMAND="fd --type f --strip-cwd-prefix --hidden --follow --exclude .git"
export RIPGREP_CONFIG_PATH="$HOME/.ripgreprc"
export PATH="$HOME/.local/bin:$PATH"

Scoop

Scoop:

# Command-line installer for Windows
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
scoop search bat
scoop install eza
scoop info fzf
scoop bucket add extras

WinGet

WinGet:

winget search steam
winget install Microsoft.VisualStudioCode
winget show vscode
winget list
Scoop vs WinGet

Scoop vs WinGet:

Scoop is command line installer, while WinGet is app installer.

Recommended software for Windows:

winget install astral-sh.uv BellSoft.LibericaJDK.11 CoreyButler.NVMforWindows Rustlang.Rustup Tencent.WeixinDevTools zig.zig
winget install Google.Antigravity Microsoft.VisualStudioCode Neovim.Neovim Obsidian.Obsidian ZedIndustries.Zed
winget install Git.Git GitHub.cli kangfenmao.CherryStudio Microsoft.WindowsTerminal ImageMagick.ImageMagick Gyan.FFmpeg
winget install ClashVergeRev.ClashVergeRev Mihomo-Party.Mihomo-Party Google.Chrome Microsoft.OneDrive
winget install ByteDance.Feishu NetEase.CloudMusic Tencent.QQ.NT Tencent.WeChat Tencent.WeType Valve.Steam

Mise

Mise:

brew install mise
scoop install mise
winget install jdx.mise
echo 'eval "$(mise activate bash)"' >> ~/.bashrc
mise u -g node@lts
node -v

Zoxide

zoxide:

brew install zoxide
scoop install zoxide
winget install ajeetdsouza.zoxide
eval "$(zoxide init bash)"

alias cd="z"

Bat

bat:

brew install bat
scoop install bat
winget install sharkdp.bat
alias cat="bat"

Eza

eza:

brew install eza
scoop install eza
winget install eza-community.eza
alias ls="eza"

Delta

delta:

brew install git-delta
scoop install delta
winget install dandavison.delta
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.dark true
git config --global delta.line-numbers true
git config --global delta.side-by-side true
git config --global merge.conflictStyle zdiff3
git diff
git show
git add -p
git log -p
git stash show -p
git reflog -p

Dust

dust:

brew install dust
scoop install dust
winget install bootandy.dust
alias du="dust"

Duf

duf:

brew install duf
scoop install duf
winget install muesli.duf
alias df="duf"

Fd

fd:

brew install fd
scoop install fd
winget install sharkdp.fd
alias find="fd --hidden --follow --exclude .git"

RipGrep

rg:

brew install ripgrep
winget install BurntSushi.ripgrep.MSVC
scoop install ripgrep
alias grep="rg"

export RIPGREP_CONFIG_PATH="$HOME/.ripgreprc"

$HOME/.ripgreprc:

# Add 'web' type.
--type-add
web:*.{html,css,js,jsx,ts,tsx,vue,svelte,astro}*

# Search hidden files / directories (e.g. dotfiles) by default
--hidden

# Using glob patterns to include/exclude files or folders
--glob
!**/.git/*

# Ignore case unless all caps
--smart-case
# Show file list with `-l`
rg -l text

Fzf

fzf:

brew install fzf
winget install fzf
scoop install fzf
# ~/.bashrc
eval "$(fzf --bash)"
# ~/.zshrc
source <(fzf --zsh)

# Use fd for listing path candidates
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
}

# Use fd for list directory candidates
_fzf_compgen_dir() {
fd --type d --hidden --follow --exclude ".git" . "$1"
}

# Respecting `.gitignore`
export FZF_DEFAULT_COMMAND="fd --type f --strip-cwd-prefix --hidden --follow --exclude .git"

Command line fuzzy finder:

  • ctrl-r: find commands.
  • ctrl-t: find files and directories.
  • alt-c: cd into directory.
  • code **<TAB>/code $(fzf -m): fuzzy completion for files and directories.
  • ctrl-k / ctrl-j: move cursor up and down.
  • Multi-select(-m): tab and shift-tab to mark multiple items.

Jq

jq:

brew install jq
scoop install jq
winget install jqlang.jq
echo "version=$(jq -r '.devDependencies["@playwright/test"]' package.json | sed 's/^[^0-9]*//')"

Fx

fx:

brew install fx
scoop install fx
# ~/.bashrc
source <(fx --comp bash)
# ~/.zshrc
source <(fx --comp zsh)

Terminal JSON viewer and processor:

# Hello world
echo '{"name": "world"}' | fx 'x => x.name' 'x => `Hello, ${x}!`'

# Bump version
fx package.json 'x.version = x.version.replace(/\d+$/, n => +n + 1), x'

# Interactive JSON viewer
curl -i https://fx.wtf/example.json | fx

TLDR

TLDR:

brew install tlrc
scoop install tlrc
winget install tldr-pages.tlrc
alias man="tldr"

Bottom

bottom:

brew install bottom
scoop install bottom
winget install Clement.bottom
alias top="btm"

Gping

gping:

brew install gping
scoop install gping
winget install orf.gping
alias ping="gping"

Procs

procs:

brew install procs
scoop install procs
winget install dalance.procs
alias ps="procs"

Curlie

Curlie:

brew install curlie
scoop install curlie
alias curl="curlie"

Developer

  • MAS: Microsoft KMS activation scripts.
  • 行书指南: 高质量免费与开源软件列表.
  • IT: Collection of handy online toolkit for developers.
  • Omni: Collection of powerful web-based toolkit for everyday tasks.
  • Miku: Lightweight toolkit collection.

Dotfiles

References