Skip to content
vblazenkaPublic

About

My dotfiles 🀘🏻

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dotfiles

Personal macOS development environment: Zsh, Neovim (LazyVim), Zellij, Git.

Quick Start

git clone https://github.com/vblazenka/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh

The install script:

  • Installs Homebrew (if missing) and required packages

  • Sets up Oh My Zsh with plugins

  • Symlinks all configs into place (existing files are backed up with a .backup suffix)

  • Installs development tools (UV, Bun, NVM + Node LTS)

  • Creates the folder structure:

    • ~/code/github.com/<owner>/<repo>: cloned repos, grouped by host and owner
    • ~/code/playground/: throwaway experiments
    • ~/Documents/notes/: notes (fine to sync with iCloud)

    Code is kept out of ~/Documents because iCloud Desktop & Documents sync chokes on .git and node_modules.

Structure

dotfiles/
β”œβ”€β”€ install.sh                 # Entry point (macOS only)
β”œβ”€β”€ bin/                       # Personal scripts, on PATH
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ setup_tools.sh         # Homebrew, packages, Oh My Zsh, UV, Bun, NVM
β”‚   └── setup_symlinks.sh      # Links configs into $HOME
β”œβ”€β”€ shell/
β”‚   β”œβ”€β”€ zshrc                  # -> ~/.zshrc
β”‚   └── hushlogin              # -> ~/.hushlogin (suppress "Last login" banner)
β”œβ”€β”€ git/
β”‚   └── gitconfig              # -> ~/.gitconfig
β”œβ”€β”€ zellij/
β”‚   └── config.kdl             # -> ~/.config/zellij/config.kdl
β”œβ”€β”€ herdr/
β”‚   └── config.toml            # -> ~/.config/herdr/config.toml
└── nvim/                      # -> ~/.config/nvim (LazyVim)

What Gets Installed

  • Shell: Zsh + Oh My Zsh + plugins (autosuggestions, syntax highlighting)
  • Editor: Neovim with LazyVim
  • Terminal workspace: herdr (agent multiplexer); Zellij is still installed and configured
  • Python: UV
  • JavaScript: NVM + Node LTS, Bun
  • CLI tools: git, curl, wget, ripgrep, fd, fzf, tree, htop, direnv, hunk (git pager)

Optional tools referenced by the shell config but not installed by the script: Go and OpenJDK (via Homebrew), pnpm, opencode, Maestro. Their PATH entries are harmless when absent.

Manual Steps After Install

  1. Restart your terminal (or run zsh)
  2. Open Neovim; plugins install automatically on first launch
  3. Put secrets (private registry tokens, etc.) in ~/.zshenv, which is not part of this repo

Customization

  • Aliases and functions: shell/zshrc
  • Git settings and aliases: git/gitconfig
  • Zellij keybindings: zellij/config.kdl
  • herdr settings: herdr/config.toml
  • Neovim: nvim/lua/config/ and nvim/lua/plugins/

About

My dotfiles 🀘🏻

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages