Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve first-time setup workflow #42

Open
colindean opened this issue Jun 26, 2024 · 0 comments
Open

Improve first-time setup workflow #42

colindean opened this issue Jun 26, 2024 · 0 comments

Comments

@colindean
Copy link
Contributor

The first-time setup workflow as of initial public release is effectively:

  1. make deps, which will error if Homebrew isn't found.
    1. User must manually make install-homebrew to install Homebrew, then run make deps again
  2. make deps, via deps-brew will install deps from Homebrew including pyenv
  3. make deps, via install-python via deps-py, will install Python from pyenv, which will error if pyenv isn't found
    1. User must manually add pyenv loading code to shell rcfile, then run make deps again
  4. make deps, via install-poetry via deps-py, will install Poetry using pyenv-installed Python or system Python, whichever it detects first, and only if poetry isn't available as of the start of the current run of make.
  5. make deps, via poetry-install via deps-py, will install Python deps using Poetry, which will error if poetry isn't found
    1. User must manually add ~/.local/bin, Poetry's default installation path, to their PATH in shell rcfile, then run make deps again.
  6. Complete 🎉

There are some steps I skipped in here related to telling Poetry which Python to use (it generally just works) and sync'ing Peru (also generally just works).

These one-time setup steps ("user must manually…") are annoying. While some tasks tell the user that they need to read command output, too many users just… don't.

Possible solutions:

  1. Document most generic thing to pre-add to a user's shellrc file in README.md or at the end of make deps.
  2. Create a task make wreck-my-rcfile or maybe more nicely make setup-rcfile-once that modifies the shellrc with what should be put there carefully manually.
  3. No action: let the user suffer having ignored the nudge to read command output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant