Repo containing my personal configuration files and environment. The files can be setup using chezmoi. If you want to use them do the following:
On Windows:
iex "&{$(irm 'https://get.chezmoi.io/ps1')} -b '~/.local/bin' init --apply --force jmigual"On Linux/Unix:
sh -c "$(curl -fsLS chezmoi.io/get)" -- -b $HOME/.local/bin init --apply jmigual This will download chezmoi in the ~/.local/bin/ folder, initialize the repository and apply the configuration. The configuration will be stored in the ~/.local/share/chezmoi directory. init asks whether this is a work machine; answer again later with chezmoi init (or chezmoi init --promptBool work=true).
The Claude Code and Codex templates have tests under extra/tests. mise provides uv, which fetches a suitable Python on its own:
mise install
uv run python -m unittest discover -s extra/testsThese are the list of packages recommended in a system and recommended install source (in parenthesis):
- Windows:
- Required:
- git (winget)
- 7zip (scoop)
- starship (scoop)
- mise (scoop): tool version manager, also provides
uvfor the repo tests - PSReadLine (
Install-Module PSReadLine)
- Recommended:
- scoop: Package manager for windows that doesn't require admin rights
- less (scoop)
- nodejs-lts (scoop)
- cmake (scoop)
- fd (scoop): better
findcommand - ripgrep (scoop): better
grepcommand - bat (scoop): better
catcommand - OpenSSH (winget)
- fzf (scoop)
- PowerShell modules:
- Terminal-Icons (
Install-Module Terminal-Icons) - PSFzf (
Install-Module PSFzf)
- Terminal-Icons (
- Required:
- Linux / Unix:
- Required:
- Recommended:
-
cargo (comes with rust toolchain)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
mise (
curl https://mise.run | sh): tool version manager, also providesuvfor the repo tests -
zsh
-
fish
-
gcc
-
ninja
-
cmake (source)
-
fd-find (cargo): better
findcommand -
ripgrep (cargo): better
grepcommand -
bat (cargo): better
catcommand -
lsd (cargo): better
lscommand -
flamegraph (cargo)
-
pipx (pip)
-
yt-dlp (pipx)
-
- Install Gpg4win
- Import private key
- Delete environment variable
SSH_AUTH_SOCKif set - Disable OpenSSH Authentication Agent service
chezmoi applyalready setsGIT_SSHand writes%APPDATA%\gnupg\gpg-agent.confwith the ssh/putty/win32-openssh support lines- Run
gpg -K --with-keygripand set the keygrip of the key to%APPDATA%\gnupg\sshcontrol. Make sure that the file has a single ending LF newline. - Start gpg-agent at logon:
pwsh extra/scripts/register_gpg_agent_task.ps1(registers the task for the current user)
- Import private key
- List the keys with keygrip:
gpg -K --with-keygrip - Mark the desired key as "Use-for-ssh":
gpg-connect-agent 'keyattr <auth keygrip> Use-for-ssh: true' /bye
Sometimes the home is set to HOMESHARE (e.g. \\campushome\myuser). To prevent this, you can add the following to the C:\Windows\System32\drivers\etc\hosts file:
campushome 127.0.0.1Claude Code's instructions (CLAUDE.md, coding-style.md), agents, skills, and settings are managed under home/dot_claude.
settings.json is a modify template: it merges the shared keys (model, effort, auto mode, hooks, plugin toggles, claude.ai connectors disabled) and keeps everything else local.
~/.claude/machine.md is machine-local.
Apply them with:
chezmoi apply --exclude=scripts ~/.claudePlugins are only toggled by the settings; install them once per machine (see MCPs and plugins).
Portable Codex settings, agents, skills, and hooks are managed under home/dot_codex.
Apply them with:
chezmoi apply --exclude=scripts ~/.codex-
Claude: LLM with a focus on safety and reliability. It is a good alternative to ChatGPT.
curl -fsSL https://claude.ai/install.sh | bashOn Windows:
irm https://claude.ai/install.ps1 | iex
Recommended MCPs and plugins for LLMs:
-
Serena. MCP with semantic access to files. Install with:
uv tool install -p 3.13 serena-agent serena setup claude-code
-
Context7: MCP with documentation. The shared Claude Code settings disable the
context7-mcpskill because the MCP's own instructions already cover it. Install with:npx ctx7 setup
-
rtk: CLI proxy that compresses the output of common commands to save tokens. Codex uses its hook; chezmoi strips the Claude Code hook
rtk init -gadds, because auto mode blocks the rewritten commands in subagents. Install with:cargo install --git https://github.com/rtk-ai/rtk rtk init -g
-
CodeGraph: MCP for code analysis. chezmoi strips the prompt hook
codegraph installadds, since it costs tokens on every prompt. Install with:npm i -g @colbymchenry/codegraph codegraph install
-
Ponytail: Plugin to reduce amount of code written to a minimum that solves the issue. Run inside claude:
/plugin marketplace add DietrichGebert/ponytail /plugin install ponytail@ponytail
-
Playwright: browser automation MCP, installed as the official Claude Code plugin (Codex launches it with npx). Run inside claude:
/plugin install playwright@claude-plugins-official