Skip to content

Latest commit

 

History

History
152 lines (119 loc) · 5.23 KB

File metadata and controls

152 lines (119 loc) · 5.23 KB

~(iam) Dotfiles

CI Stars Last Commit License

A production terminal setup, built with Serotonin.
15 packs · 87ms startup · zero framework dependency


Want This Terminal?

# Option 1: Use Serotonin (standalone, works anywhere)
curl -sL dotfiles.download/serotonin | sh
serotonin init

# Option 2: Clone this exact setup (personal, opinionated)
source <(curl -sL dotfiles.download/install)

What's Inside

Serotonin demo — before/after terminal setup

Performance

Setup Startup
Oh-My-Zsh (default) ~800ms
Prezto ~500ms
This setup 87ms

Stack

Tool Why
Serotonin Pack-based shell configuration
Chezmoi Multi-machine dotfile sync
Sheldon Rust-based plugin manager (replaces OMZ)
Starship Fast, customizable prompt
mise Runtime version manager (replaces nvm/asdf)
zsh-defer Lazy plugin loading

Modern CLI Replacements

Classic Modern Why
ls eza Colors, git status, tree view
cat bat Syntax highlighting
grep ripgrep 10x faster
find fd Simpler syntax
cd zoxide Frecency-based jumping
diff delta Syntax-aware git diffs
ctrl+r fzf Fuzzy history search

Packs Enabled

Pack Aliases Why I Use It
☸️ kubernetes k, kgp, kx, k9 Daily K8s work
🐳 docker dk, dkc, dkps Container workflows
🐹 golang gor, got, gol Go development
📦 node ni, nrd JS/TS projects
🔀 git-extras gs, gl, ghpr Git power-user
🤖 claude-code c, copus AI-assisted coding
📂 dev-workspace dev, proj, work Organized ~/Dev

Browse all 15 packs →

Want just the packs without my personal config?

serotonin add docker kubernetes golang

Shell Architecture

~/.zshrc                          # Sources modules in order
~/.zshrc.d/
  00-options.zsh                  # Zsh options (autocd, correct, etc.)
  02-functions.zsh                # Utility functions
  03-utils.zsh                    # Source helpers
  05-colors.zsh                   # LS_COLORS, syntax highlighting
  06-dirs.zsh                     # Directory navigation
  08-term.zsh                     # Terminal title, cursor
  10-history.zsh                  # History config (50K lines, dedup)
  20-prompt.zsh                   # Starship init
  30-completions.zsh              # Cached compinit (rebuilds daily)
  40-plugins.zsh                  # Sheldon + zsh-defer lazy loading
  45-integrations.zsh             # fzf, mcfly, thefuck
  50-aliases.zsh                  # 100+ aliases (eza, bat, etc.)
  55-line-editor.zsh              # ZLE config, edit-command-line
  56-widgets.zsh                  # Custom ZLE widgets
  60-keybindings.zsh              # Emacs-mode bindings
  70-packs.zsh                    # Pack loader
  90-motd.zsh                     # Message of the day
  99-user.zsh                     # Your custom config (preserved on update)
  packs/                          # Enabled packs (docker, k8s, etc.)
~/.config/
  sheldon/plugins.toml            # 6 plugins, all lazy-loaded
  starship.toml                   # Prompt config
  mise/config.toml                # Runtime versions

Every file is readable, editable, yours. No magic.


Why Not Oh-My-Zsh?

Oh-My-Zsh This Setup
Startup ~800ms 87ms
Plugins 300+ (most unused) 15 packs (pick what you need)
Architecture Framework (runtime dependency) Plain zsh files (no dependency)
Plugin loading All at startup Lazy via zsh-defer
Completions compinit on every shell Cached, rebuilds daily
Lock-in Remove OMZ = shell breaks Remove Serotonin = everything works

Powered By

Serotonin — shadcn/ui for your terminal


MIT — Use it, fork it, make it yours.