cnpryer/huak

Use Huak to install tools to a global *toolchain*

Closed this issue · 0 comments

Summary

huak install <target> could install a Python project to a global toolchain dedicated to path discovery.

Motivation

  • pipx/cargo-like experience for installing packages as global tools
  • More ways to test toolchain implementation

Requirements

  • Can add to PATH
  • Can uninstall from
  • Self-contained

Questions

  • Should tools be installed with consistent Python installations?

Details

An env file can be added similar to Cargo

❯ cat ~/.cargo/env 
#!/bin/sh
# rustup shell setup
# affix colons on either side of $PATH to simplify matching
case ":${PATH}:" in
    *:"$HOME/.cargo/bin":*)
        ;;
    *)
        # Prepending path in case a system-installed rustc needs to be overridden
        export PATH="$HOME/.cargo/bin:$PATH"
        ;;
esac

(WIP)
The file would add ~/.huak/env the same way so that users can run packages added to Huak's ~/.huak/bin.

huak install ruff
which ruff
~/.huak/toolchains/global/bin/ruff

I can use the toolchain system to manage the bin directory with an isolated installation of Python.