Skip to content

setup.zsh sources 8 deprecated scripts silently — users see no warning that deprecated code is running #170

@ooloth

Description

@ooloth

Current state

features/setup/setup.zsh sources eight files from the deprecated/ subdirectory (lines 111–119: deprecated/homebrew.zsh, deprecated/rust.zsh, deprecated/uv.zsh, deprecated/node.zsh, deprecated/npm.zsh, deprecated/tmux.zsh, deprecated/neovim.zsh, deprecated/symlinks.zsh). None of these sourced steps carry any indication in the terminal output that they are executing deprecated code. A user who runs setup has no way to know that a significant portion of the installation is running older, potentially outdated scripts that the repo has marked for replacement.

Ideal state

  • When setup.zsh runs a step sourced from deprecated/, the terminal output includes a visible indicator (e.g. a ⚠️ [deprecated] prefix line) so the user knows that step is running legacy code.
  • Alternatively, all deprecated steps are replaced with their non-deprecated equivalents and the source "${DOTINSTALL}/deprecated/*.zsh" calls are removed entirely.

Out of scope

  • Rewriting the deprecated scripts themselves (that is separate work).
  • Changes to what the deprecated scripts do.

Starting points

  • features/setup/setup.zsh lines 111–119: the eight source "${DOTINSTALL}/deprecated/*.zsh" calls
  • features/install/ — the non-deprecated install scripts intended to replace the deprecated ones

QA plan

  1. Run features/setup/setup.zsh (or review its echo/printf output by inspection).
  2. For each step sourced from deprecated/, expect a clearly labelled terminal line such as ⚠️ [deprecated] Running homebrew.zsh — replace with features/install/....
  3. Confirm no step from deprecated/ runs without this label appearing in the output.

Done when

A user running setup can identify from the terminal output which installation steps are sourced from deprecated scripts, without inspecting the setup.zsh source.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions