Skip to content

git clone --recurse-submodules -j8 git@github.com:filipesf/dotfiles.git

Notifications You must be signed in to change notification settings

filipesf/dotfiles

Repository files navigation

Dotfiles

Personal shell, git, and vim configuration.

Setup

Run:

./install

Selective install

You can now limit what ./install touches by passing component flags. When no component flags are provided, the script behaves as before and links every dotfile (plus the LLM and Opencode assets). Use flags like --bash, --codex, or --opencode to install only those sections:

  • --bash~/.bashrc, ~/.aliases, ~/.bash_profile
  • --zsh~/.zshrc, ~/.oh-my-zsh
  • --git~/.gitconfig, ~/.gitignore, ~/.gitcommit
  • --vim~/.vim, ~/.vimrc
  • --gemrc~/.gemrc
  • --editorconfig~/.editorconfig
  • --llm or --llms → all LLM homes (agents, codex, gemini, claude)
  • --agents, --codex, --gemini, --claude → install only the individual agent home(s)
  • --opencode~/.config/opencode (agents, commands, hooks, skills, MCP config) plus Bun/NPM dependencies

If more than one flag is provided they can be combined (e.g., ./install --opencode --codex). Use --submodules=all to ensure every submodule updates, --submodules=none to skip them entirely, or the default --submodules=non-vim to update only oh-my-zsh.

This script backs up any existing files to ~/.dotfiles-backup/<timestamp> and then creates symlinks to this repo.

Submodules

After cloning, run:

git submodule update --init --recursive

Local overrides (not tracked)

Create any of these files in your home directory if you need machine-specific settings:

  • ~/.gitconfig.local
  • ~/.zshrc.local
  • ~/.bashrc.local
  • ~/.aliases.local

Examples are available in this repo:

  • gitconfig.local.example
  • zshrc.local.example
  • bashrc.local.example
  • aliases.local.example

Opencode configuration

Opencode's workspace now lives inside the existing agents/ hierarchy so there's a single source of truth:

  • agents/agents, agents/hooks, agents/get-shit-done, and agents/skills provide the shared assets mirrored into ~/.config/opencode.
  • agents/prompts houses the GSD/hl/i command definitions (gsd-*, hl-*, and i-* files).
  • agents/opencode-config/{opencode.json,settings.json,package.json,bun.lock} store the MCP configuration and dependency manifests that power the CLI.

Running ./install links each of those paths into ~/.config/opencode (with agents/prompts mirrored into ~/.config/opencode/commands/<prefix>/ and agents/opencode.settings.sample.json copied as opencode.json) and then boots Bun (preferred) or npm inside that directory to populate node_modules/.

If neither bun nor npm is available the installer will warn and you can manually run bun install (or npm install) inside ~/.config/opencode whenever the Opencode configuration or MCP dependencies change. The installer never commits node_modules, so rerun ./install after dependency updates.

About

git clone --recurse-submodules -j8 git@github.com:filipesf/dotfiles.git

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published