So many commands to remember (pkgx <etc etc>, dev etc etc, env etc etc). I just want to cd into a directory with stuff like .terraform-version or .python-version or all of the above and installation should happen like magic. I should not even have to remember the name of the tool.. Thats the best user experience IMO. Let me know in the comments if what i am asking is dumb..<p>I tried my best to use this tool and many other all in one tools (asdf, rtx etc) but individual tools like tfenv, pyenv, nvm feel way more ergonomic that all the all in one tools to a point that i don't mind having so many tools
Looks like this is the same thing as we used to find here: <a href="https://tea.xyz/" rel="nofollow noreferrer">https://tea.xyz/</a><p>Which has been turned into some kind of system aimed at generating/distributing F/OSS revenue based on usage via crypto. Pkgx is the package manager that drives it, which used to be called 'tea'.<p>Here's a previous discussion: <a href="https://news.ycombinator.com/item?id=30778924">https://news.ycombinator.com/item?id=30778924</a><p>And a more recent one: <a href="https://news.ycombinator.com/item?id=33681216">https://news.ycombinator.com/item?id=33681216</a>
I have no idea who this appeals to, or why. If I want something, I want it to be installed and available, not mysteriously cached. If I want multiple versions of something, there are tools like asdf and rtx.<p>This feels like a solution for a problem that doesn’t exist.
>"blazingly fast"<p>> written by homebrew author (brew is notoriously slow)<p>> written in typescript<p>hmmm... I have my doubts on that claim, especially when there is no evidence to support it.
I literally don't understand the first example. What just happened here? Did pkgx see that I failed to run bun and then just like... installed it and ran it for me? Does that mean on my next prompt I should run `bun` or should I run `pkgx` again?<p><pre><code> $ bun
command not found: bun
^^ type `pkgx` to run that
$ pkgx
running `bun`…
Bun: a fast JavaScript runtime, package manager, bundler and test runner.
# …</code></pre>
fascinating that the "creator of brew" didn't go ahead and shard the package names since it's almost inevitable that GitHub's /tree/ is going to start :sad-trombone: since it is not designed for viewing thousands of directories: <a href="https://github.com/pkgxdev/pantry/tree/main/projects">https://github.com/pkgxdev/pantry/tree/main/projects</a><p>I'm also genuinely surprised they abandoned the sha256 from brew (e.g. "welp, it is what it is" <a href="https://github.com/pkgxdev/pantry/blob/main/projects/httpie.io/package.yml">https://github.com/pkgxdev/pantry/blob/main/projects/httpie....</a> ). Ah, it's an <i>implied</i> .sha256 path from their magic distribution something something: <a href="https://dist.pkgx.dev/?prefix=httpie.io/" rel="nofollow noreferrer">https://dist.pkgx.dev/?prefix=httpie.io/</a>
Edit: I was wrong the example is fine.<p>I find it actually useful, sometimes I may want to try something temporarily for intermediate result now and then and having it installed doesn’t yield benefits.<p>Good example: I generate asyncapi docs and doing an npx is fine. Alternative approach like pulling a docker image and the executing something with all volume sharing, ports what not is a but cumbersome because am too lazy to press too many keys.
So this tool is like "fuck", as it looks at the previous command and figures out what the user wanted to do.<p><a href="https://github.com/EricFreeman/fuck">https://github.com/EricFreeman/fuck</a>
I have this crazy idea that could improve pkgx:<p>If Max added “offline caching” to pkgx, you could still continue to use utilities even after the shell session ended or if you lost Internet connectivity!<p>/s