Skip to content
DamilojuVeriffPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

52 Commits

Folders and files

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

Repository files navigation

🏠 Dotfiles

✨ One command to rule them all ✨

macOS Neovim Tmux Zsh Lua Ghostty

Dotfiles for bootstrapping and backing up my Mac development environment. A single ./install script symlinks configs into place and installs all dependencies via Homebrew.


πŸ“¦ What's Included

Module Description
🐚 zsh Oh My Zsh + Powerlevel10k, autosuggestions, syntax highlighting, lazy NVM, custom aliases
πŸ“ nvim Neovim with Lazy.nvim β€” LSP, Treesitter, Telescope, Neo-tree, DAP & 40+ plugins
πŸ–₯️ tmux Vi-mode, true color, mouse support, session persistence (resurrect/continuum, auto-boot in Ghostty), modular config
🍺 homebrew Brewfile with CLI tools, languages, services, Colima (Docker runtime), and fonts
πŸ¦₯ lazygit Tokyo Night-themed lazygit config
⚑ scripts t (tmux session switcher), update (update all tools), nvim-health (setup checker) β€” linked into ~/.local/bin
πŸ“— nvm Default global npm packages (LSP servers, formatters, linters)
πŸ‘» ghostty Ghostty terminal config
πŸ–ΌοΈ iterm Exported iTerm2 profile backup
πŸ”§ git Git config with aliases, global gitignore
🍎 macos macOS system preferences script (keyboard, Finder, Dock, screenshots)
πŸ“ editorconfig 2-space indent (4 for PHP/Python), LF endings, UTF-8
🐳 docker Docker via Colima instead of Docker Desktop (DOCKER_HOST set in .zshrc)
πŸ€– claude Claude Code settings β†’ ~/.claude/settings.json (gitignored)

πŸš€ Installation

chmod +x install
./install
πŸ“‹ What the install script does
Step Action
1️⃣ Install Xcode Command Line Tools (if missing)
2️⃣ Install Oh My Zsh (if missing)
3️⃣ Install Homebrew (if missing)
4️⃣ Symlink dotfiles (~/.zshrc, ~/.zprofile, ~/.p10k.zsh, ~/.tmux.conf, ~/.config/nvim, scripts β†’ ~/.local/bin, etc.)
5️⃣ Run brew bundle to install everything in the Brewfile, then link the Ghostty config
6️⃣ Set up NVM with default packages
7️⃣ Symlink lazygit, Claude settings, editorconfig, & git config
8️⃣ Clone TPM (Tmux Plugin Manager)
9️⃣ Apply macOS system preferences
πŸ”Ÿ Create ~/Code workspace directory

🧰 Makefile

You can also install modules selectively:

make brew        # Just install Homebrew packages
make nvim        # Just symlink Neovim config
make tmux        # Just set up tmux
make zsh         # Just link zsh config
make nvm         # Just set up NVM defaults
make ghostty     # Just link Ghostty config
make update      # Quick update (brew, nvim plugins, tpm)
make clean       # Remove all symlinks (uninstall)

πŸ—‚οΈ Structure

.
β”œβ”€β”€ 🍺 homebrew/Brewfile           # Homebrew dependencies
β”œβ”€β”€ βš™οΈ  install                     # Bootstrap script
β”œβ”€β”€ πŸ—‘οΈ  uninstall                   # Remove all symlinks
β”œβ”€β”€ πŸ“‹ Makefile                    # Selective install targets
β”œβ”€β”€ πŸŒ™ .emmyrc.json                # Lua language server settings
β”œβ”€β”€ πŸ‘» ghostty/
β”‚   └── config.ghostty             # Ghostty terminal config
β”œβ”€β”€ πŸ–ΌοΈ  iterm/backup.itermexport    # iTerm2 profile
β”œβ”€β”€ πŸ¦₯ lazygit/config.yml          # Lazygit theme
β”œβ”€β”€ πŸ”§ git/
β”‚   β”œβ”€β”€ gitconfig                  # Git aliases & settings
β”‚   └── .gitignore_global          # Global ignores
β”œβ”€β”€ 🍎 macos/
β”‚   └── defaults.sh               # macOS system preferences
β”œβ”€β”€ πŸ“ nvim/                       # Neovim config (Lazy.nvim)
β”‚   β”œβ”€β”€ init.lua
β”‚   β”œβ”€β”€ lua/user/                  # Options, keymaps, plugin specs
β”‚   └── snippets/                  # Snippets (TS, TSX)
β”œβ”€β”€ πŸ“— nvm/default-packages        # Global npm packages
β”œβ”€β”€ ⚑ scripts/
β”‚   β”œβ”€β”€ t                          # Tmux session switcher
β”‚   β”œβ”€β”€ update                     # Update brew, nvim, Node LTS, tpm, omz
β”‚   └── nvim-health                # Neovim setup health check
β”œβ”€β”€ πŸ–₯️  tmux/
β”‚   β”œβ”€β”€ tmux.conf                  # Core settings & TPM plugin list
β”‚   β”œβ”€β”€ theme.conf                 # Status line & colors
β”‚   β”œβ”€β”€ keybindings.conf           # Key bindings
β”‚   └── plugins.conf               # resurrect/continuum settings
β”œβ”€β”€ 🐚 zsh/
β”‚   β”œβ”€β”€ .zprofile                  # Login shell (Homebrew)
β”‚   β”œβ”€β”€ .zshrc                     # Shell config
β”‚   β”œβ”€β”€ .p10k.zsh                 # Powerlevel10k theme
β”‚   └── custom/
β”‚       β”œβ”€β”€ aliases.zsh            # Custom aliases
β”‚       β”œβ”€β”€ tools.zsh              # pyenv init
β”‚       β”œβ”€β”€ local.zsh.example      # Machine-specific template
β”‚       β”œβ”€β”€ plugins/               # Oh My Zsh plugins
β”‚       └── themes/                # Oh My Zsh themes
β”œβ”€β”€ πŸ“ .editorconfig               # Editor formatting rules
└── 🀫 .hushlogin                  # Suppress login banner

πŸ› οΈ Key Tools

πŸ’¬ Languages & Runtimes

Node.js Python Go Lua Deno TypeScript

πŸ”§ CLI Tools

ripgrep Β· fzf Β· lazygit Β· gh Β· awscli Β· kubectl Β· colima Β· docker Β· buf Β· pipx Β· cmake Β· graphviz Β· wget Β· ngrok

πŸ”€ Fonts

Fira Code Β· Fira Code Nerd Font

πŸ—„οΈ Services

Redis RabbitMQ PostgreSQL Docker

Start the Docker runtime with colima start.

✏️ Neovim Highlights

🎨 Tokyo Night colorscheme Β· πŸ”­ Telescope fuzzy finder Β· 🌳 Neo-tree & Oil file management Β· 🧠 LSP (TypeScript, Lua, Bash, Vue, PHP, JSON, CSS/HTML) Β· πŸ’‘ nvim-cmp completions Β· 🧹 conform.nvim formatting (ESLint/Prettier, incl. Vue) Β· πŸ” nvim-lint Β· πŸ› DAP debugging Β· πŸ§ͺ Neotest Β· πŸ“Š Gitsigns & Fugitive Β· πŸ“‘ Bufferline Β· πŸš€ Lualine Β· ⌨️ which-key Β· πŸ“Έ CodeSnap screenshots


⌨️ Custom Aliases

Alias Command Description
lg lazygit πŸ¦₯ Open lazygit
zshreload source ~/.zshrc πŸ” Reload shell config
wip git add . && git commit -m 'chore: wip' πŸ’Ύ Quick work-in-progress commit
code cd ~/Code πŸ“‚ Jump to projects
.. / ... / .... cd up 1/2/3 levels πŸ”Ό Quick navigation
ll ls -lAFh πŸ“‹ Detailed file listing
la ls -A πŸ‘€ List including dotfiles
mkcd <dir> mkdir -p && cd πŸ“ Create & enter directory

πŸ”„ Maintenance

update          # Run from anywhere β€” updates brew, nvim plugins, Node (latest LTS), tpm, omz
nvim-health     # Check that LSP servers, formatters, and tools are installed

πŸ–₯️ Machine-Specific Overrides

Create zsh/custom/local.zsh (gitignored) for settings that shouldn't be committed:

cp zsh/custom/local.zsh.example zsh/custom/local.zsh

πŸ™ Credits

πŸ“ Neovim config heavily influenced by Jess Archer β€” see their course on Laracasts
⚑ Tmux session script (t) inspired by ThePrimeagen
πŸ’‘ More dotfile inspiration at dotfiles.github.io

⚑ Happy hacking! ⚑

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages