Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt

Use this file to discover all available pages before exploring further.

The Salchipapa.Dots automated installer handles every detail of setting up your development environment. It installs Homebrew, all core packages, your choice of shell (Fish or Zsh), terminal multiplexer (Zellij or Tmux), and terminal emulator config (Alacritty or WezTerm), then creates all necessary symlinks and runs a headless Neovim Lazy sync — so your editor is plugin-ready before you ever open it. All you need to do is answer a few interactive prompts.
The installer requires sudo for package installation and for changing your default shell. Run it as a user with sudo privileges.

Installation

Clone the repository, make the installer executable, and run it with sudo:
git clone https://github.com/erickm13/Salchipapa.Dots.git
cd Salchipapa.Dots
chmod +x install.sh
sudo ./install.sh

What the Installer Does

Once launched, the installer presents an interactive menu. Select “Install everything” to run the full setup. Here is every step it performs, in order:
1

System Update

Updates your system package lists, upgrades existing packages, and installs essential build dependencies:
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install -y build-essential curl git ca-certificates unzip
2

Homebrew Install and Setup

Installs Homebrew non-interactively if it is not already present, appends the Homebrew shell environment to ~/.bashrc, and evaluates it for the current session:
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
brew update
3

Core Tools Install

Installs all core CLI utilities via Homebrew in a single pass:
brew install gcc nvim node starship carapace fzf zoxide atuin fd eza bat asm-lsp lazygit btop fastfetch yazi
This covers Neovim, Starship, fuzzy finder, smart directory jumping, shell history, modern file utilities, lazygit, Fastfetch, the Yazi file manager, and btop resource monitor.
4

Shell Selection

The installer prompts you to pick your default shell:
  • Fish — installs Fish via Homebrew, adds it to /etc/shells, sets it as the default shell with chsh, symlinks SalchipapaFish/fish~/.config/fish, and installs Fisher with the nvm.fish, fzf.fish, and plugin-pj plugins.
  • Zsh — installs Zsh and its plugins (zsh-autocomplete, zsh-syntax-highlighting, zsh-autosuggestions) via Homebrew, sets Zsh as the default shell, symlinks .zshrc, installs Oh My Zsh with KEEP_ZSHRC=yes (preserving your linked config), installs nvm via Homebrew, and installs Node LTS.
  • Skip — leaves your current shell unchanged.
5

Multiplexer Selection

Choose your terminal multiplexer:
  • Zellij — installs via Homebrew and symlinks SalchipapaZellij/zellij~/.config/zellij.
  • Tmux — installs via Homebrew, symlinks SalchipapaTmux~/.config/tmux, and clones TPM (Tmux Plugin Manager) into ~/.tmux/plugins/tpm.
  • Skip — no multiplexer is configured.
6

Terminal Emulator Config

Link your terminal emulator’s configuration:
  • Alacritty — symlinks SalchipapaAlacritty~/.config/alacritty.
  • WezTerm — symlinks SalchipapaWezterm/.wezterm.lua~/.wezterm.lua.
  • Skip — no terminal config is linked.
7

CLI Tools

Select which npm-based CLI tools to install:
  • All (Gemini + Angular + Claude Code) — installs all three
  • Gemini CLInpm i -g @google/gemini-cli
  • Angular CLInpm i -g @angular/cli
  • Claude Codenpm i -g @anthropic-ai/claude-code
  • Skip — no CLIs installed
npm i -g @google/gemini-cli
npm i -g @angular/cli
npm i -g @anthropic-ai/claude-code
8

Obsidian Vault Clone (Optional)

The installer prompts for an Obsidian vault repository URL (SSH or HTTPS). If provided, it clones the vault into ~/.config/obsidian. Leave the prompt empty to skip this step.
9

Config Symlinks

Creates symlinks for the three remaining shared configs:
ln -s ~/Salchipapa.Dots/SalchipapaNvim/nvim ~/.config/nvim
ln -s ~/Salchipapa.Dots/starship.toml ~/.config/starship.toml
ln -s ~/Salchipapa.Dots/SalchipapaFastfetch ~/.config/fastfetch
10

Neovim Lazy Sync

Runs a headless Neovim session to download and sync all plugins defined in your LazyVim configuration:
nvim --headless "+Lazy! sync" +qa
When this completes, Neovim is fully configured and all plugins are installed.

Post-Install Verification

After the installer completes, open a new terminal session and verify the key tools are available:
which zsh    # or: which fish
which nvim
which gemini
Inside Neovim, you can also verify the Gemini integration:
:echo executable('gemini')
A return value of 1 means Gemini is accessible from within Neovim.
Salchipapa.Dots uses IosevkaTerm NF (IosevkaTerm Nerd Font) for icon and glyph rendering in the terminal. Download and install it from nerdfonts.com, then set it as your terminal emulator’s font. Without it, Neovim and Starship will display placeholder boxes instead of icons.
If you ever want to remove everything Salchipapa.Dots installed — symlinks, packages, and the repository itself — run the installer again and select “Uninstall” from the main menu. It removes all symlinks, restores your default shell to Bash, uninstalls all Homebrew packages, and deletes ~/Salchipapa.Dots.

Build docs developers (and LLMs) love