Live data from Hacker News

Show HN: Home Maker: Declare Your Dev Tools in a Makefile

thottingal.in

61–70 of 71 posts

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#61

Earlier quoted context omitted.

> Linux brew is pretty good these days. What's the use case for homebrew on Linux these days? Most distributions have their own package manager, which you almost always end up using anyways, so already you're adding an extra package manager. Besides that, most of the community isn't using homebrew, so clearly won't have "more" packages, and the packages it'll have will be less reviewed than the ones in your distribut…

I use an immutable distribution, i dont use the package manager as it is antithesis to the concept. The current most popular immutable distros (Bluefin, Bazzite, Aurora, etc) use Bluefin for CLI tools, or even some apps that are tricky to get full functionality from Flatpaks but cant do system install. Sooo, i dont have a system package manager to use to add more packages, not without building my own image ontop of B…

> I use an immutable distribution, i dont use the package manager as it is antithesis to the concept

I don't think "immutable distribution" typically means "can't install applications", it's more about the system files than anything, not across absolutely everything, similar to "functional programming" doesn't mean "no side-effects allow anywhere" because then you couldn't draw to the screen. All those OSes have included utilities for installing packages ("programs"), otherwise they wouldn't be very useful.

Besides that, even going by your own understanding, if you install homebrew on a immutable distribution, doesn't that mean homebrew is "antithesis to the concept" too, as much as any other package/program manager?

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#62

Earlier quoted context omitted.

I use an immutable distribution, i dont use the package manager as it is antithesis to the concept. The current most popular immutable distros (Bluefin, Bazzite, Aurora, etc) use Bluefin for CLI tools, or even some apps that are tricky to get full functionality from Flatpaks but cant do system install. Sooo, i dont have a system package manager to use to add more packages, not without building my own image ontop of B…

> I use an immutable distribution, i dont use the package manager as it is antithesis to the concept I don't think "immutable distribution" typically means "can't install applications", it's more about the system files than anything, not across absolutely everything, similar to "functional programming" doesn't mean "no side-effects allow anywhere" because then you couldn't draw to the screen. All those OSes have incl…

No, because installing something in the userspace is different from system. Most package managers install to system locations, like /usr and so on. Homebrew installs into /home/linuxbrew/.linuxbrew and is useable from userspace.

Immutable might not be the best term, its more atomic. And while you can install packages with rpm-ostree for example, it gets layered ontop, and the more packages you layer, the more likely an upgrade fails, or a rebase fails. Hence you build a custom image, or adopt a user-space solution.

The method to install applications is again, userspace focused ones. for GUI apps its Flatpak and AppImage. For CLI tools it can be appImage, but for others its Mise, Brew, asdf, or even Nix.

The antithesis is installing applications onto the immutable portion of the system, or messing with it in any way (by layer packages ontop of the immutable parts). Installing into userspace is the preferred method. So these "immutable distributions" do have ways to install "packages (programs)" and that is Flatpak, Brew, AppImage, etc and not the system package manager.

It is why they are moving away from even having Layering as an option.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#63
I like the idea, and I would like to use it. It still requres me to be conscious enough to add a new tool to it.

I'd love to see something like a "discover" option that attempts to scan what things I have added to assist me in building the make for the next time.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#64

Earlier quoted context omitted.

What conclusion do you mean? Aqua is just one of the many backends it supports. For example there's also the GitHub backend which lets you install binaries from releases, no plugin needed at all.

https://github.com/mise-plugins "Try to get your tool into aqua or see if it can be installed with the github backend, then it may be added to the mise registry" , and then later they say "The rest of this doc is outdated and does not reflect the current state of preferring aqua/ubi." . Overall there's too many ways to install things and it's not easy to add any of them. Asdf plugins were easy, but insecure (which co…

> it's not easy to add any of them

For most of them there's nothing to add though, you simply publish tools on GitHub/Cargo/etc. and mise will know how to install them.

https://mise.jdx.dev/registry.html#backends has a bit more current info.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#65

Earlier quoted context omitted.

> I use an immutable distribution, i dont use the package manager as it is antithesis to the concept I don't think "immutable distribution" typically means "can't install applications", it's more about the system files than anything, not across absolutely everything, similar to "functional programming" doesn't mean "no side-effects allow anywhere" because then you couldn't draw to the screen. All those OSes have incl…

No, because installing something in the userspace is different from system. Most package managers install to system locations, like /usr and so on. Homebrew installs into /home/linuxbrew/.linuxbrew and is useable from userspace. Immutable might not be the best term, its more atomic. And while you can install packages with rpm-ostree for example, it gets layered ontop, and the more packages you layer, the more likely…

> No, because installing something in the userspace is different from system. Most package managers install to system locations, like /usr and so on. Homebrew installs into /home/linuxbrew/.linuxbrew and is useable from userspace.

I see, so it's the default settings of the package managers you don't like? And prefer to use homebrew with sane defaults, rather than configuring your package manager to install things somewhere else?

I guess I was confused about the whole "immutable and no package manager" but then also "immutable and yes, other package manager" thing, but if it makes sense for you, I'm happy you found a setup that works for you :)

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#66

Earlier quoted context omitted.

https://github.com/mise-plugins "Try to get your tool into aqua or see if it can be installed with the github backend, then it may be added to the mise registry" , and then later they say "The rest of this doc is outdated and does not reflect the current state of preferring aqua/ubi." . Overall there's too many ways to install things and it's not easy to add any of them. Asdf plugins were easy, but insecure (which co…

> it's not easy to add any of them For most of them there's nothing to add though, you simply publish tools on GitHub/Cargo/etc. and mise will know how to install them. https://mise.jdx.dev/registry.html#backends has a bit more current info.

Only if they have a plugin that describes how to install them. Many popular tools are much more complex to install and set up than just downloading a binary and making it executable. For those you need to create a plugin for mise to be able to install them. Luckily, very often some other generous person has gone through all the trouble of learning how to make the plugin, going to the official repos, making a PR, and finally getting it merged. But if somebody hasn't done that already, it's painful (more painful than, say, an asdf plugin). It depends on the language, on the tool and system requirements, etc. Overall it's kind of a mess. Mise leaves you with the trouble of figuring all that out, rather than making some kind of convenience function to get the process started easily.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#67

Earlier quoted context omitted.

this looks like weeks to you? { pkgs, ...}: { home.packages = with pkgs; [ neovim lazygit ]; }

Yes, absolutely. It's not quick to learn because there isn't much text.

it's literally just a list

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#68
post #51

Earlier quoted context omitted.

this looks like weeks to you? { pkgs, ...}: { home.packages = with pkgs; [ neovim lazygit ]; }

This is like when people complain about the locksmith charging $300 when it takes him 15 seconds to open your door.

the door wasn't even locked

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#69

Earlier quoted context omitted.

Yes, absolutely. It's not quick to learn because there isn't much text.

it's literally just a list

It literally isn't. There's are at least three novel syntax concepts in there, and even if you just presented the resulting JSON data, there is still a huge amount of knowledge you need to know what Nix will do with that data.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#70

Earlier quoted context omitted.

> it's not easy to add any of them For most of them there's nothing to add though, you simply publish tools on GitHub/Cargo/etc. and mise will know how to install them. https://mise.jdx.dev/registry.html#backends has a bit more current info.

Only if they have a plugin that describes how to install them. Many popular tools are much more complex to install and set up than just downloading a binary and making it executable. For those you need to create a plugin for mise to be able to install them. Luckily, very often some other generous person has gone through all the trouble of learning how to make the plugin, going to the official repos, making a PR, and…

> Many popular tools are much more complex to install

I'm curious which dev tools you're using aren't installable with standard mise backends. 99% of dev tools I use don't require a plugin.

> (more painful than, say, an asdf plugin)

You can still use asdf plugins, I could use mise to install an asdf plugin right now with one line `mise use asdf:raimon49/asdf-hurl`. The mise registry is just a convenient list of aliases, even if it doesn't accept new asdf plugins, you don't need it to.

As Larry Wall said "make easy things easy and hard things possible"

Post reply on HN