Skip to content
jmigualPublic

About

Personal dotfiles

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

473 Commits

Folders and files

Repository files navigation

dotfiles

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).

Documentation

Tests

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/tests

Packages

These 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 uv for 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 find command
      • ripgrep (scoop): better grep command
      • bat (scoop): better cat command
      • OpenSSH (winget)
      • fzf (scoop)
      • PowerShell modules:
  • Linux / Unix:
    • Required:
      • git
      • fortune (package manager or source)
      • cowsay
      • socat: Required for SSH with Gpg running on Windows
      • ss (apt install iproute2): Idem
      • starship (installed to ~/.local/bin by a chezmoi run-once script)
    • 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 provides uv for the repo tests

      • zsh

      • fish

      • gcc

      • ninja

      • cmake (source)

      • fd-find (cargo): better find command

      • ripgrep (cargo): better grep command

      • bat (cargo): better cat command

      • lsd (cargo): better ls command

      • flamegraph (cargo)

      • pipx (pip)

      • yt-dlp (pipx)

SSH with Gpg

Windows

  • Install Gpg4win
  • Import private key
  • Delete environment variable SSH_AUTH_SOCK if set
  • Disable OpenSSH Authentication Agent service
  • chezmoi apply already sets GIT_SSH and writes %APPDATA%\gnupg\gpg-agent.conf with the ssh/putty/win32-openssh support lines
  • Run gpg -K --with-keygrip and 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)

Linux

  • 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

Recommendations

Windows

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.1

LLMs

Claude Code

Claude 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 ~/.claude

Plugins are only toggled by the settings; install them once per machine (see MCPs and plugins).

Codex

Portable Codex settings, agents, skills, and hooks are managed under home/dot_codex. Apply them with:

chezmoi apply --exclude=scripts ~/.codex

Tools

  • Claude: LLM with a focus on safety and reliability. It is a good alternative to ChatGPT.

    curl -fsSL https://claude.ai/install.sh | bash

    On Windows:

    irm https://claude.ai/install.ps1 | iex

MCPs and plugins

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-mcp skill 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 -g adds, 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 install adds, 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

About

Personal dotfiles

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages