@sir @grainloom @cagatayy I'm very much a Guix advocate. We're developing an upstream distribution, based on this (still young), but in my opinion, fantastic package manager. That being said, I have to agree with Drew. For the majority, Linux = Ubuntu. Most people don't care about the technical details, or reproducible environments - nobody would be using Windows, or MacOS if that was the case. People want beautiful, no-brainer software, that helps them accomplish stuff without reading a manual.
@franz @sir @cagatayy I kinda agree with this but if someone's doing web development and have already installed a language specific package manager, then using Guix or Nix shouldn't be that hard for them and if they wanna distribute things with Flatpak and absolutely refuse to write a proper package instead, then I'd prefer guix pack instead of a blob that who knows what generated.
@clacke @cagatayy @sir @franz isn't Guix already installable without root?
Strictly speaking, the average person doesn't even know about Ubuntu. I would guess more people have heard about Android running on something called Linux (even if it isn't 100% true)
> As someone who had pacman fuck up their bootloader due to a power outage, I welcomed anything that makes updates atomic.
I had (almost) the same thing happen to me, and it also dramatically increased my interest in #GuixSD, though I haven't made the time to try it out.
> I'll take 90% the stability for 10% the complexity any day of the week.
Yeah, me too if it's reducing complexity by 90% in return for reducing stability by 10%.
Out of curiosity, how much increased complexity (if any) would you accept for 10% more stability?
(Not that I have any idea how to measure either in practice…)
@grainloom I know it has been a long time but I didn't have a chance to look to Nix/Guix documentation until today. I wrote something with my limited understanding of Nix/Guix (and actually Flatpak too) that may be useful to compare:
@cagatayy hmmm, it doesn't look like it adds anything that Guix can't do, at least for libre/open packages.
conflicting versions are already taken care of in Guix, and you also get reproducable builds and a lot of tooling.
@grainloom Can Guix do sandboxing? If not, I think that would be an important advantage.
For conflicting versions, reproducable builds and tooling (if you mean the environment part) I think they are equal.
@grainloom Also https://wiki.gnome.org/Projects/OSTree/NixOSComparison claims "In OSTree, the checksums are of object *content* (including extended attributes). This means that any data that's identical is transparently, automatically shared on disk. It's possible to ask the Nix store to deduplicate, (via hard links and immutable bit), but this is significantly less efficient than the OSTree approach. The Nix use of the ext immutable bit is racy, since it has to be briefly removed to make a hard link."
@cagatayy not sure how that works in guix, but it deduplicates a lot of data automatically.
the content based hashing could be solved by the intensional store and there is definitely ongoing work on the Nix side for that.
OSTree seems interesting tho, it might be useful for the stateful parts of Guix System.
@cagatayy it can, but it doesn't need to 99% of the time
the `guix environment` subcommand natively supports containers and the `guix system` subcommand can also work with various VM and container tech
@grainloom Oh, I should have been more clear, I meant things like limiting access to filesystem, network, X11, etc. The app manifest declares which permissions are given by default and it can also be overriden by the user. Flathub checks the permissions in the manifests for submitted apps. Some of this could also be done with Docker but since Flatpak is focused on desktop apps, it is simplified. There is also work to expose permissions in settings apps so the user can control in an easier way.
@cagatayy this whole sandboxing thing shouldn't need this much support machinery tbh. permissions systems shouldn't depend on package management.
some of those features would be nice to have in Guix, but the main reason app stores need permission systems is because you can't esily audit closed source crap.
@cagatayy i doubt they are equal in reproducability, guix can give you a full graph of the inputs for any package, all the way to the bootstrap binaries.
for tooling, i also have my doubts. declarative system configs are very cool. right now i'm debugging a wacom udev confif issue and i can do it in a vm by just running `guix system vm` on the config file i used to install the system. it barely takes up any space.
and i could then send this file to someone and they could test the exact same system config.
AFAIK this is not a goal of Flatpak & co.
@scolobb There are channels for a lot of nonfree stuff, I use one for my wifi drivers.
A cool thing Guix also lets me do is have two configs installed side by side, one with fully free software, and one with some proprietary stuff.
There are also some nonfree applications packaged in channels, but I haven't needed those so far.
Cybrespace is an instance of Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.