~ / rigs / yutkat / dotfiles

yutkat/dotfiles

The best and strongest dotfiles. Editor: Neovim; Shell: zsh(zinit, powerlevel10k); Terminal: WezTerm; Desktop: Hyprland, walker, dunst; OS: NixOS, ArchLinux (Ubuntu/Fedora/CentOS)

↗ GitHub ★ 997 mit updated 12d ago personal setup Claude CodeCodex
share on X
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
CONTEXT TAX · EVERY TURN
~1.0k tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Protects secrets · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ npx degit yutkat/dotfiles/.claude ./rig-dotfiles  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit yutkat/dotfiles/.claude/skills/suggest-neovim-plugin-alternatives .claude/skills/suggest-neovim-plugin-alternatives

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "permissions": {
    "deny": [
      "Bash(sudo:*)",
      "Bash(rm:*)",
      "Bash(rm -rf:*)",
      "Bash(git push:*)",
      "Bash(git commit:*)",
      "Bash(git reset:*)",
      "Bash(git rebase:*)",
      "Read(.env*)",
      "Read(.env.*)",
      "Read(*.pem)",
      "Read(id_rsa)",
      "Read(id_ed25519)",
      "Read(**/*.key)",
      "Read(**/*key.pem)",
      "Edit(.env*)",
      "Edit(.env.*)",
      "Edit(**/secrets/**)",
      "Bash(curl:*)",
      "Bash(wget:*)",
      "Bash(nc:*)",
      "Bash(npm uninstall:*)",
      "Bash(npm remove:*)",
      "Bash(psql:*)",
      "Bash(mysql:*)",
      "Bash(mongod:*)",
      "mcp__supabase__execute_sql"
    ]
  },
  "sandbox": {
    "enabled": true
  }
}

Skills (1)

Hooks (5)

eventmatcherruns
SessionStart*{ printf '\033]11;#3b332e\a' > "${TTY:-/dev/tty}"; } 2>/dev/null || true
SessionEnd*{ printf '\033]111\a' > "${TTY:-/dev/tty}"; } 2>/dev/null || true
Notification*jq -r '"\"\(.title // "Claude Code")\" \"\(.message // "No message")\""' | xargs notify-send; [ -n "$TTY" ] && printf '\a' > "$TTY"
Stop*notify-send 'Claude Code' 'Done!'; [ -n "$TTY" ] && printf '\a' > "$TTY"
PostToolUseWrite|Edit|MultiEditjq -r '.tool_input.file_path' | xargs nvim --headless -c 'lua vim.defer_fn(function() require("conform").format(); vim.cmd("wq") end, 100)'

Plugins (6)

github@claude-plugins-officiallua-lsp@claude-plugins-officialrust-analyzer-lsp@claude-plugins-officialtypescript-lsp@claude-plugins-officialpyright-lsp@claude-plugins-officialsuperpowers@superpowers-marketplace

Permissions

deny (26)
Bash(sudo:*)
Bash(rm:*)
Bash(rm -rf:*)
Bash(git push:*)
Bash(git commit:*)
Bash(git reset:*)
Bash(git rebase:*)
Read(.env*)
Read(.env.*)
Read(*.pem)
Read(id_rsa)
Read(id_ed25519)
Read(**/*.key)
Read(**/*key.pem)
Edit(.env*)
Edit(.env.*)
Edit(**/secrets/**)
Bash(curl:*)
Bash(wget:*)
Bash(nc:*)
Bash(npm uninstall:*)
Bash(npm remove:*)
Bash(psql:*)
Bash(mysql:*)
Bash(mongod:*)
mcp__supabase__execute_sql
ask (0)
—
allow (32)
Bash(npm run build)
Bash(npm run test:*)
Bash(cat:*)
Bash(head:*)
Bash(tail:*)
Bash(tree:*)
Bash(wc:*)
Bash(git:*)
Bash(ls:*)
Bash(pwd)
Bash(mkdir:*)
Bash(file:*)
Bash(grep:*)
Bash(rg:*)
Bash(find:*)
Bash(fd:*)
Bash(jq:*)
Edit(CLAUDE.md)
Edit(**/CLAUDE.md)
mcp__plugin_serena_serena__activate_project
mcp__plugin_serena_serena__get_symbols_overview
mcp__plugin_serena_serena__find_symbol
mcp__plugin_serena_serena__search_for_pattern
mcp__plugin_serena_serena__list_dir
mcp__plugin_serena_serena__replace_symbol_body
mcp__plugin_serena_serena__replace_content
mcp__plugin_context7_context7__resolve-library-id
mcp__plugin_context7_context7__query-docs
WebFetch(domain:github.com)
WebFetch(domain:*.github.com)
WebFetch(domain:*.githubusercontent.com)
WebSearch

Similar rigs

copied ✓