Added (all now linked from their live locations): - home_root/.claude/settings.json. The statusLine command now uses $HOME instead of a Linux-only absolute path. - home_root/.claude/bin/ratecheck and home_root/.claude/skills/australis-design. - home_config/zsh/claude-config-dir.zsh and home_root/.local/bin/claude-config-dir-init, the per-repo Claude Code login helper and its seeding script. - home_root/.gitconfig and home_config/git/ignore. - home_root/.zshenv, with the cargo env line guarded so boxes without rust start clean. link-dotfiles --check reports drift without changing anything: tracked files whose live copy is no longer a link (stow dry-run conflicts) and links into this repo that dangle. Exits 1 on drift. Verified against a clean baseline and two planted drifts, a detached .nanorc and a dangling link. .mailmap maps every earlier identity to Vuong Hoang: the repo-local 'Your Name' placeholder config (now removed), host-generated emails, and aider suffixes. CLAUDE.md: the symlink warning now lists every linked file and points at --check. README: documents what is and isn't tracked under .claude, the edit rule, and --check.
29 lines
1.5 KiB
Bash
29 lines
1.5 KiB
Bash
[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"
|
|
|
|
# user-level secrets (HF_TOKEN etc.)
|
|
[ -f "$HOME/.config/secrets/env.sh" ] && source "$HOME/.config/secrets/env.sh"
|
|
|
|
# fleet CLIs (booth, secret symlinks) reachable from non-interactive ssh too
|
|
export PATH="$HOME/.local/bin:$HOME/bin:$PATH"
|
|
|
|
# safe-rm (installed 2026-09-22, operator's call) — a wrapper that REFUSES to
|
|
# delete the ~25 protected system paths in /etc/safe-rm.conf: /, /bin, /etc,
|
|
# /home, /usr, /var and friends. Guards the rm -rf /usr class of mistake.
|
|
#
|
|
# ⚠ IT IS SET HERE AND NOT LEFT TO THE PACKAGE. safe-rm ships
|
|
# /etc/profile.d/safe-rm.sh, which /etc/profile walks correctly -- but Debian's
|
|
# /etc/zsh/zprofile is entirely commented out (0 non-comment lines), so a zsh
|
|
# LOGIN shell never sources /etc/profile and the hook never fires. Measured
|
|
# immediately after install: rm still resolved to /usr/bin/rm in this shell, in
|
|
# a fresh `zsh -l`, AND over ssh. Installed and inert.
|
|
#
|
|
# .zshenv is the right home because it is sourced for EVERY zsh invocation,
|
|
# including the non-interactive `ssh host '<cmd>'` form that is how most fleet
|
|
# work actually runs -- the same reason ~/.local/bin is set here.
|
|
#
|
|
# ⚠ AND IT DOES NOT COVER THE MISTAKE THAT PROMPTED IT. safe-rm is a path
|
|
# blacklist, not a heuristic. Measured: it refuses `rm -rf /home`, and it
|
|
# deletes a file whose path came from an unset variable without complaint. The
|
|
# variable-path habit is still guarded only by discipline and `set -u`.
|
|
[ -d /usr/share/safe-rm/bin ] && export PATH="/usr/share/safe-rm/bin:$PATH"
|