Before installing the tools below, ensure you have Cargo (Rust's package manager), GitHub CLI (gh), and Fisher (Fish plugin manager) installed.
Cargo is needed to install many of the CLI tools.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/envGitHub CLI is useful for interacting with GitHub from your terminal.
Ubuntu / Pop!_OS / Debian-based:
type -p curl >/dev/null || sudo apt install curl -y
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -ymacOS:
brew install ghWindows (Winget):
winget install --id GitHub.cliFisher is used to manage Fish shell plugins.
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisherAfter installing Cargo, GitHub CLI, and Fisher, install the following tools:
| Tool | Description | Installation |
|---|---|---|
| Zoxide | Smarter cd command (jump to directories quickly) |
cargo install zoxide |
| Exa | Modern ls replacement |
cargo install exa |
| Bat | Enhanced cat command |
cargo install bat |
| Yazi | TUI-based file explorer | brew install yazi |
| Htop | An interactive process viewer | brew install htop |
| Starship | Cross-shell prompt | cargo install starship --locked |
| Tool | Description | Installation |
|---|---|---|
| Zellij | Terminal multiplexer | cargo install zellij |
| Fzf | Fuzzy file finder | sudo apt install fzf |
| Fd | Faster find alternative |
cargo install fd-find |
| Ripgrep (rg) | Faster search tool | cargo install ripgrep |
| Procs | Modern process viewer | cargo install procs |
| Posting | TUI for api requests testing | brew install posting |
| Oxker | TUI for managing docker containers | cargo install oxker |
| Ghq | Repository manager | brew install ghq (macOS) / go install github.com/x-motemen/ghq@latest (Linux) |
| Peco | Interactive filtering CLI tool | brew install peco (macOS) / sudo apt install peco (Linux) |
| ffprobe | Inspect media metadata (part of FFmpeg) | brew install ffmpeg (macOS) / sudo apt install ffmpeg (Linux) |
| pdftoppm | Convert PDF pages to images (PNG/JPEG) from Poppler | brew install poppler (macOS) / udo apt install poppler-utils (Linux) |
| Tool | Description | Installation |
|---|---|---|
| NVM | Node.js version manager | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash |
| NVM for Fish | Fish-compatible NVM wrapper | fisher install jorgebucaran/nvm.fish |
| Language | LSP | Installation |
|---|---|---|
| C | clangd |
sudo apt install clangd (Linux) / brew install llvm (macOS) |
| C# | omnisharp |
dotnet tool install --global omnisharp |
| CSS | vscode-css-languageserver |
npm install -g vscode-langservers-extracted |
| Dockerfile | docker-langserver |
npm install -g dockerfile-language-server-nodejs |
| Fish | fish-language-server |
npm install -g fish-lsp |
| HTML | vscode-html-languageserver |
npm install -g vscode-langservers-extracted |
| Java | jdtls |
brew install jdtls (macOS) / Install via Eclipse JDT Language Server |
| JavaScript | typescript-language-server |
npm install -g typescript typescript-language-server |
| TypeScript | typescript-language-server |
npm install -g typescript typescript-language-server |
| JSON | vscode-json-languageserver |
npm install -g vscode-langservers-extracted |
| JSX/TSX | typescript-language-server |
npm install -g typescript typescript-language-server |
| Kotlin | kotlin-language-server |
brew install kotlin-language-server (macOS) / sdk install kotlin (Linux) |
| Markdown | marksman |
brew install marksman (macOS) / cargo install marksman (Linux) |
| Python | ruff |
pip install ruff |
| Rust | rust-analyzer |
rustup component add rust-analyzer |
| TOML | taplo |
cargo install taplo-cli --features lsp |
| YAML | yaml-language-server |
npm install -g yaml-language-server |
| Formatter | Description | Installation Command |
|---|---|---|
| Prettier | Prettier is a versatile code formatter | npm install -g prettier |
Some tools require a Nerd Font for proper icon support.
- Download a Nerd Font from nerdfonts.com.
- Unzip and move it to your local font directory:
mkdir -p ~/.fonts && mv [FONT_NAME].ttf ~/.fonts/
- Update the font cache:
fc-cache -fv
- Change your terminal font to use the new Nerd Font.
| Aplicación | Descripción | Comando de instalación |
|---|---|---|
| Espanso | Text expander for easy Spanish accents and phrases | brew install espanso (macOS) / sudo apt install espanso (Linux) |
Once installed, you’ll need to set up Espanso with your preferred shortcuts.
📌 Go to:
~/.config/espanso/match/base.yml
in this repository to get the common Spanish accents and phrase configurations I use.
After updating the base.yml, reload Espanso:
espanso restartNow you'll be able to type accented letters and Spanish phrases with simple triggers (like :a → á, :gracias → ¡Gracias!).
After installing everything, restart your terminal to ensure the changes take effect.