@Sgoettschkes on dotfiles
A collection of my dotfiles; A list of the software I use; A set of instructions used to setup my environment
Clone this repo into ~/.dotfiles and run the installation:
git clone https://github.com/Sgoettschkes/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
make installOr use the script directly: ./install.sh
The installation script will automatically install:
- asdf
- Git
- Homebrew
- iTerm2 (macOS only)
- Neovim
- Oh My Zsh
- ripgrep
- tree-sitter CLI
- uv (Python package runner for
uvx)
To remove all symlinks: make clean
Also installed automatically via Homebrew (macOS only):
- 1Password CLI (
op) - claude-code
- docker (Docker Desktop)
- ngrok
- obsidian
- rectangle
- spotify
- tablepro
Also installed automatically via Homebrew (macOS only):
The rectangle configuration is stored in the rectangle/ folder. It can be imported through the settings.
The installation script sets up symlinks for SSH, Zsh, Git, and asdf configurations.
You can put local ssh config (which should not be in git) in ~/.ssh/config.local.
Register per machine with make mcp. Secrets are read from the Private 1Password vault via op read. Enable the 1Password app → Settings → Developer → Integrate with 1Password CLI, then op whoami to verify.
Each MCP is a register call in claude/setup.sh. Currently configured:
- GitHub — reads
Private / GitHub / mcp - Docker —
uvx mcp-server-docker - Nirvana — HTTP transport at
mcp.nirvanahq.com - Obsidian —
mcpvaultagainst the~/Documents/Second Brainvault - Chrome DevTools —
chrome-devtools-mcpfor browser automation (requires Chrome installed separately)
make mcp skips MCPs that are already registered (so HTTP/OAuth servers like Nirvana don't re-auth on every run). To force a re-register after editing the config or rotating a token: claude mcp remove <name> -s user && make mcp. Verify with /mcp in Claude Code.
After running the installation script, install all asdf plugins and tools:
make asdfNote: For Erlang/Elixir, check prerequisites before running.
Note: For PHP, check prerequisites before running.
Note: Lua 5.1 is used because it's the one needed by lazy neovim plugin manager
MIT. Please see LICENSE.