Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Cross-platform zsh environment for macOS, Linux, and WSL.

Quick Start

git clone https://github.com/RyanL1997/.vim.git ~/.dotfiles
cd ~/.dotfiles
./install.sh
exec zsh

What's Included

  • zsh with zinit — syntax highlighting, autosuggestions, completions, omz git aliases
  • Prompt — hand-rolled single-line (➜ dir git:(branch) ✗), no external theme
  • Version managersnvm (lazy-loaded), pyenv, mise
  • CLI tools — fzf, ripgrep, jq, neovim, btop, htop, yazi, zellij, gh
  • TerminalGhostty config (Citruszest theme, solid block cursor)
  • tmux — starter config for Linux cloud dev sessions (.tmux.conf, symlinked on Linux only)
  • IntelliJ IDEA — portable IDE settings backup/restore (intellij/, secrets excluded)

Repo Structure

.
├── install.sh                  # Entry point — detects OS, delegates
├── .zshrc                      # Cross-platform zsh config
├── .tmux.conf                  # tmux config (Linux only)
├── ghostty/config              # Ghostty terminal settings
├── platform/
│   ├── common/setup.sh         # Zinit, nvm, pyenv, symlinks
│   ├── mac/
│   │   ├── install.sh          # Homebrew + Brewfile
│   │   └── Brewfile
│   └── linux/
│       ├── install.sh          # apt/yum + GitHub release fallbacks
│       └── packages.txt
├── intellij/                   # IntelliJ IDEA settings + backup/restore.sh
└── iterm2/                     # Legacy iTerm2 profiles

Platform Support

  • macOS (Apple Silicon / Intel) — Homebrew
  • Ubuntu / Debian — apt
  • Amazon Linux 2 — yum
  • WSL2 — same as Linux

Customization

Prompt — edit the PROMPT= line in .zshrc. Colors use bright ANSI codes (9-14). Reference: zsh prompt expansion.

Terminal theme — edit ghostty/config. Run ghostty +list-themes to browse.

Adding tools — macOS: add to platform/mac/Brewfile. Linux: add to platform/linux/packages.txt.

Post-Install

The installer sets up nvm and pyenv but does not install any Node or Python versions. Install what you need:

nvm install <version>           # e.g. nvm install 22
pyenv install <version>         # e.g. pyenv install 3.12

Notes

  • SSH sessions force TERM=xterm-256color to prevent garbled input on remote hosts without Ghostty's terminfo. See Ghostty terminfo docs.
  • nvm is lazy-loaded for faster shell startup — it initializes on first node/npm call, not at shell open.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages