No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Fifthdread 66c3b66dcd Update home/.zshrc
Just removed not needed extra stuff
2026-08-14 09:36:57 -04:00
home Update home/.zshrc 2026-08-14 09:36:57 -04:00
.gitignore Add portable terminal config: zsh + p10k + kitty (Spleen/Nerd fonts) 2026-08-13 09:46:46 -04:00
bootstrap.sh Restore OMZ keyboard parity; copy-based installer, scope refinement 2026-08-14 09:18:00 -04:00
deps.md Restore OMZ keyboard parity; copy-based installer, scope refinement 2026-08-14 09:18:00 -04:00
install.sh Restore OMZ keyboard parity; copy-based installer, scope refinement 2026-08-14 09:18:00 -04:00
README.md Restore OMZ keyboard parity; copy-based installer, scope refinement 2026-08-14 09:18:00 -04:00

5d_dotfiles

My terminal, exactly how I like it. This is the config that makes my shell feel like home — the sharp retro font, the clean prompt, the small quality-of-life touches that make typing all day pleasant. It's portable, so I can take it to any machine and feel the same.

Install (one command)

On a fresh Arch/CachyOS machine, just run:

curl -fsSL https://5d.fyi/dotfiles | bash

That installs everything — the zsh plugins, the Spleen font, waifufetch, the whole setup — and links the configs into place. The only thing left is the interactive prompt setup it prints at the end.

What it looks like

  • Crisp, retro text — the font is Spleen 32x64, a hand-drawn bitmap font with razor-sharp pixels. No fuzzy anti-aliasing blur; it's pixel-perfect at its designed size.
  • Icons that just work — Spleen can't draw icons, so my terminal quietly borrows a Nerd Font for the symbols (folders, git, the little arrows). The text stays Spleen, the icons fill in around it. Best of both.
  • A prompt that keeps up — powerlevel10k shows me where I am and my git status instantly, with zero lag, and collapses old prompts so my screen doesn't get cluttered.

Why it's built this way

  • No framework, no surprises. I don't use oh-my-zsh or starship. Everything in my shell config is a line I wrote and understand. If something's missing on a machine, it just skips that part instead of breaking.
  • Fast. The prompt appears the instant the shell opens, and git status in big repos is instant too.
  • Consistent everywhere. Same look and behavior on my desktop, my laptop, over SSH — anywhere.

What's in here

The repo mirrors my home directory under home/:

File What it does
.zshrc The main config — paths, the prompt, plugins, history, aliases, small niceties
.config/zsh/helpers.zsh take (make a folder and step into it) and extract/x (unpack any archive)
.config/kitty/ The terminal's look — Spleen font + the color theme
.config/ghostty/config.ghostty Same font setup for Ghostty if I'm using that
.config/opencode/themes/rog-red.json Red theme for the opencode fork — moved out of this repo; install manually if wanted

Setting up a new machine

# 1. Install the pieces (one command, Arch/CachyOS)
sudo pacman -S zsh zsh-autosuggestions zsh-syntax-highlighting \
  zsh-theme-powerlevel10k fzf pkgfile \
  ttf-firacode-nerd kitty ghostty

paru -S spleen-font   # the Spleen font (AUR only — gives you the crisp bitmap version)
# 2. Drop the configs into place
./install.sh

# 3. Finish the prompt setup
exec zsh && p10k configure

The installer uses GNU stow if you have it; otherwise it makes symlinks itself. Full details in deps.md.

Little touches you'll notice

  • Typing is colorful — commands you type get colored as you go, and misspelled commands are gently corrected.
  • Arrows recall what you typed — type par, press Up, and the shell pulls up the last command you ran starting with par; with nothing typed, Up walks history normally.
  • Ctrl+arrows hop word by word — Ctrl+Left/Right jump between words while editing (and Alt+arrows do the same), Ctrl+Delete kills a whole word, and word-stops respect path separators so Ctrl+W deletes one segment of a path at a time. Ctrl-X Ctrl-E opens the current line in your editor.
  • Colored lsls is colored; ll, la, lsa, and l are ready-made variants.
  • Moving around fastermd makes a folder, ... climbs two levels, - goes back to the last directory, 19 jump to spots on the directory stack.
  • Tab finds things even when you don't know the startcd z matches folder_z13 (substring fallback), case-insensitively, and even jumps on word separators (cd fzfolder_z13) — prefix matches always win first
  • Gray suggestions while you type — the shell remembers what you've typed before and quietly suggests it; press Tab to accept.
  • History that actually sticks — your last 10,000 commands persist across sessions.
  • Tab titles that make sense — the window title shows the folder you're in, then the command you're running.
  • Git without the staring — the prompt shows your branch and clean/dirty state instantly, even in big repos.

History of this project

  • 2026-08-14 — Restored OMZ keyboard parity the portable config had silently dropped: Ctrl+Left/Right word movement (dead under kitty because xterm-kitty's terminfo has no kLFT5/kRIT5 — Alt+arrows only worked by terminfo luck), Ctrl+Delete kill-word, Ctrl-X Ctrl-E line editing, WORDCHARS='' (word jumps stop at / . - _), complete_in_word/always_to_end, completion caching, and extended_history/hist_verify.

  • 2026-08-13 — Started fresh. Dropped oh-my-zsh and the CachyOS defaults for a config I fully own: installed p10k, autosuggestions, and syntax highlighting, fixed history persistence, added the helpers and Ghostty support, and restructured everything into the drop-in home/ layout. Published to my wiki.

  • 2026-08-13 — Restored completion matching that oh-my-zsh used to provide: cd z again finds folders containing z. The portable config now uses a 3-stage matcher (case-insensitive prefix → word-initials → substring) that beats the old behavior by adding case-insensitivity and word-separator jumps.

  • 2026-08-13 — Restored the rest of the oh-my-zsh niceties the portable config had dropped: Up/Down recall the most recent command by typed prefix (up-line-or-beginning-search, a built-in widget — no framework dependency), colored ls plus ll/la/lsa/l, nav shortcuts (md/rd/.../-/19), Home/End/PageUp/PageDown/Shift-Tab bindings, grep that skips VCS/venv dirs, diff --color, and interactivecomments/multios/long_list_jobs. Dropped the now-unused zsh-history-substring-search plugin.

  • 2026-08-13 — Refined scope and restored more OMZ shell feel: added completion waiting dots (red on Tab), command typo correction (setopt correct), colored man pages (LESS_TERMCAP_md/_me), and FZF_DEFAULT_COMMAND='fd --type f'. Removed .p10k.zsh (wizard config stays out — each machine runs p10k configure) and the opencode rog-red.json theme (not terminal config). Synced kitty.conf defaults to font_size 16.0 and copy_on_select no.