15 ms·
Pkgx – “Run anything” from the creator of brew
- pxc 3y agoLooks like this is the same thing as we used to find here: https://tea.xyz/ https://tea.xyz/ 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'. Here's a previous discussion: https://news.ycombinator.com/item?id=30778924 https://news.ycombinator.com/item?id=30778924 And a more recent one: https://news.ycombinator.com/item?id=33681216 https://news.ycombinator.com/item?id=33681216
- mdaniel 3y agofascinating 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: https://github.com/pkgxdev/pantry/tree/main/projects https://github.com/pkgxdev/pantry/tree/main/projects I'm also genuinely surprised they abandoned the sha256 from brew (e.g. "welp, it is what it is" https://github.com/pkgxdev/pantry/blob/main/projects/httpie.io/package.yml https://github.com/pkgxdev/pantry/blob/main/projects/httpie.... ). Ah, it's an implied .sha256 path from their magic distribution something something: https://dist.pkgx.dev/?prefix=httpie.io/ https://dist.pkgx.dev/?prefix=httpie.io/
- pineapple_sauce 3y ago>"blazingly fast" > written by homebrew author (brew is notoriously slow) > written in typescript hmmm... I have my doubts on that claim, especially when there is no evidence to support it.
- ar_lan 3y agoI know I'm a Nix elitist but I really don't understand why people don't just use Nix for all their package management.
- lreeves 3y agoProbably the EVE Online-like learning curve.
- arp242 3y agoLast time I tried it I couldn't even get it to work. I think I may have hit a bug, but to be honest I'm not sure: I also could have done something wrong. This was at the "let's download the package repository to get started" step. So, meh...
- Kinrany 3y agoThe docs could be better, but it's as easy as: 1. Install Nix from https://nixos.org/download.html https://nixos.org/download.html 2. Find the package from https://search.nixos.org/packages https://search.nixos.org/packages 3. Start a shell with `nix-shell -p <name>`, have the package available in it
- tripdout 3y agoOr even better, install it using the installer from Determinate Systems.
- deadly_syn 3y agoIts not really an argument for the tool if the solition is download another tool to wrap it.
- vanchor3 3y agoI must have terrible luck. I try this and it tells me one of the dependencies is "marked as broken" (and forcing it to install anyway doesn't work) so I instead end up digging through GitHub trying to track down the cause.
- justinclift 3y agoWonder if this is on the wrong side of the convenience vs security balance?
- gorenb 3y agooh my god this is amazing
- mdeeks 3y agoI 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? $ bun command not found: bun ^^ type `pkgx` to run that $ pkgx running `bun`… Bun: a fast JavaScript runtime, package manager, bundler and test runner. # …
- mpalmer 3y agoBased on the examples that follow, it seems like pkgx tracks shell history so it can default to the last command if and only if it doesn't exist on $PATH.
- AnthonBerg 3y agoIt might have one splendidly named thefuck under the hood: https://github.com/nvbn/thefuck https://github.com/nvbn/thefuck
- sgarland 3y agoI 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. This feels like a solution for a problem that doesn’t exist.
- robador 3y agoI can see its appeal. As a former developer turned manager, I often want to solve certain problems quick, or test things. I very much don't want to install these kinds of experiments permanently as I don't have the time to maintain them. Now it often happens that I do an upgrade of something I haven't used a long time and it breaks, which wastes my time debugging. For me something that just works the couple of times I want to use it is indeed appealing.
- sgarland 3y agoTbf I’m an SRE/DBRE who codes in Python, but if I need to test something, I spin up a venv, install what I need, and then am done. I also made a shell function to make temporary venvs that also launch a Jupyter Notebook with whatever packages you want, and deletes itself when done. It works well for me. To each their own. If your workflow works for you, have at it.
- avisser 3y agoGP wasn't explicit, but I think his assumption was that "experiments" are things outside of your wheelhouse - e.g. you want to try out a some node code, or compile a golang app. You've already budgeted to have python on your machine and up-to-date.
- sgarland 3y agoI keep a Go and Rust compiler installed for when I need to use them. I’d rather not wait for it to download and install every time I want to do so.
- 3y ago
- Fudgel 3y agohttps://docs.pkgx.sh/appendix/deeper-dives/conceptual-overview https://docs.pkgx.sh/appendix/deeper-dives/conceptual-overvi...
- zaps 3y agoSo it’s tea without the blockchain part?
- thatxliner 3y agoDid they rebrand tea again
- tripdout 3y agoSo it's similar to some features of Nix (namely the nix run command)
- phplovesong 3y agoSo this tool is like "fuck", as it looks at the previous command and figures out what the user wanted to do. https://github.com/EricFreeman/fuck https://github.com/EricFreeman/fuck
- n_ary 3y agoEdit: I was wrong the example is fine. 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. 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.
- mdallastella 3y agoSo it's asdf?
- andrewmcwatters 3y agoI have this crazy idea that could improve pkgx: 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! /s
- kishansh 3y agoSo 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.. 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