Skip to content

Non-goals and anti-patterns

These are intentional boundaries for the dotfiles. Revisit them only when the workflow changes enough to justify a documented decision.

Shell frameworks

Do not add Bash-it as a dependency. Bash should stay small, predictable, and usable as a fallback/recovery shell. Copy a specific idea if it earns its keep; do not make Bash startup depend on a framework.

Do not add a prompt plugin stack beyond Starship. Starship owns the prompt, and other shell tools should not compete for prompt rendering or lifecycle hooks.

Do not grow Fish through plugin sprawl. Fish can be rich, but each plugin should own a real interactive workflow. Prefer repo-owned functions for small behavior.

Desktop and maintenance

Do not bulk-export Plasma configuration. Manage stable KDE preferences directly and keep desktop state explicit, small, and reviewable.

Do not enable topgrade as default automation. Upgrade commands should remain intentional, previewable, and lane-aware so package-manager ownership stays visible.

Host lanes

Do not keep active WSL or Codex repositories under Windows or UNC paths. Those paths are for interop. Day-to-day WSL/Codex work belongs on the Linux filesystem, for example under /home/alvaro/code.

Tool ownership

Do not let two managers own the same tool by accident. Duplicate ownership is allowed only when the reason is documented, such as a host bootstrap dependency or an editor-managed extension that deliberately differs from the CLI tool.