It wasn't for nothing
gexp.no
gexp.no
Like, don't become a metal bass player because you want to play in a band to perform at Wacken. That will fail and disappoint. Instead, find enjoyment in rhythm kicking people like a damn horse, or find enjoyment in how different rhythm structures can be, and sounds an instrument can make. For me, it's becoming really interesting to understand how different fundamental rhythms of different genres are.
The moment you have an audience for something it significantly changes the experience. Doesn't matter if it's music, development, cooking... if other humans are involved on the receiving end it makes it different.
For a lot of us, we're very protective of our creative endeavors. And, lots of the time the journey we're taking is one of vulnerability (learning, creatively extending ourselves, taking risks).
Then there's the criticism and critique. People can objectively be pretty awful. It doesn't matter if it's making my own software tooling, or a song, or fleshing out a new idea... I just don't want to hear anyone's opinion - I want to focus on being productive in what I'm doing. I've often found that isolating is way more productive than trying to ship to an audience. If I need other people I don't pull them in as an audience, I pull them in as an advisor and/or teacher: contracting out a code review, or going to guitar lessons.
If/when this stuff I created dies with me that's OK. I'm a fart in the wind anyway, and I don't care about silly things like "legacy" - I just need to create stuff to optimize and improve the world around me. And, sometimes I create stuff just because it feels good. It's a selfish endeavor sure, but I'd have it no other way.
I was going to reply but you summed it up nicely. I have been polishing away on a dozen or so personal software projects, but I never release them publicly, don't use GitHub, don't even blog about them. I'm at a point in my life where I don't need/crave feedback or validation or attention or whatever drives people to constantly need moar audience for their blog and moar downloads for their software. I write software because I enjoy the act and it solves problems that I encounter.
Not releasing means I don't have pressure to keep them compiling with the latest SDK, I don't have pressure to port them to Windows, I don't have to respond to requests from users or other developers, and I can feel free to use the codebase(s) to learn and explore the boundaries of my knowledge and skills, without public scrutiny and bikeshedding.
There is also something to getting you software to a level where you show it to others (the sooner the better). If you don't showcase your stuff odds are people won't find it.
But I'm not going to do that. So there is some associated pain. But it's diminishing with time.
And the attention my project got is definitely greater than zero. And the internet is forever. So there is a kind of peace.
Way more than my OSS projects though haha
But it feels good in retrospect
> Guix is an advanced distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.
For anyone looking for more context. I did not know anything about the what and why and who of this post.
Having read it, I like the author's point of view. Working on it is good for his well-being. That's more than enough reason to pursue it.
After using and contributing NixOS for 3 years, I appreciated that I understood far more how Guix worked after just one 1-2 weeks of using it.
Guix introduces abstractions, such as operating-system that has defined fields that make it clearer what structures are being built. NixOS, on the other hand, does not have such abstractions (or perhaps just not as well documented/discoverable).
Alas, I found Guix a bit slow and a bit difficult to contribute to (mailing list workflow, and fewer reviewers), and don't have the capacity to help improve that, and so I'm back to NixOS.
Guix is tackling multiple fronts: a blob-free kernel, a non systemd init, mailing list development, bootstrapability, no non-free software, high standards for commit messages.
If they reduced the number of fronts they were tackling, they might increase contributions, but the current contributors seem to value their existing fronts. That's fair.
NixOS had plenty of abstractions, so I don't quite understand this. All of NixOS is a compilation of abstractions for building an operating system environment. Could you elaborate on what abstractions are not present?
> Guix is tackling multiple fronts: a blob-free kernel, a non systemd init, mailing list development, bootstrapability, no non-free software, high standards for commit messages.
Except for the last one, all of these are noble achievements perhaps within a subset of an ecosystem, like Nix or Guix, but the deliberate and unwavering stapling of these goals to the ecosystem makes Guix unpalatable.
Instead, NixOS has many options, whose only structure is that they form a tree. When trying to understand a host, it's unclear how to begin to analyze this tree: no option is at a higher level of abstraction than any other, or if it is, it's difficult to infer that.
Arguably I could just look at my host's config, and that will tell me what this host does, but it doesn't. It actually describes my how machine differs from the default NixOS machine. (How do I learn what a default NixOS machine do? Query for all services "enabled" option is set to true?)
With Guix, I follow the code: how is this host's OS "services" field populated.
To analyze a NixOS system configuration, I look for all modifications to the `services` attr (representing all the services of the system, e.g. `services.mpd.dir = "~/Music"`). If I want to know even more I can look for all the `.enable` keys to see if any hardware/program/etc options have been enabled, and the sources are easy to read so I can open the corresponding module file in Nixpkgs if I want to know what a particular option does. The default NixOS machine does literally nothing so I don't have to worry about that.
Guix does look really cool, and I would try it if it had more support for nonfree software (I depend on some nonfree software in my day-to-day.)
Flakes provides abstractions at a per-repo level.
Guix offers abstractions all the way down: an OS contains a bootloader, which is also its own type.
> The default NixOS machine does literally nothing so I don't have to worry about that.
The default NixOS machine chooses a bootloader, enables nscd, has default users, enable DHCP, ...
... and those are just the parts I was able to guess at, and then confirm by checking whether their 'enable' option defaulted to true.
It's unclear how to determine (from the source code) what a default machine does in NixOS.
It was only when I tried Guix that I had the visibility into what my machine was actually composed of.
There are few parades Few social gatherings Little social cohesion No reason to seek up a public place to randomly meet people, because people shun random social contact There is only binge drinking and a social walking alone in the cities
Same with Sweden and Finland.
As opposed to living in sunny country a south of the equator.
Living in Norway is a blessing and a curse.
And nothing to do during the winter? Cozy up by the fireplace, pop a bottle of wine with a loved one. Read books. Make delicious food. Prepare for xmas, visit the various xmas markets, then there is new year which is a blast. And let's not forget the julebord-season during late November and first half of December!
January and February are dreary. I'll admit that.
Then there is winter vacation. You don't need to be a sportsman to enjoy pulling on a pair of cross county skis, head out with friends and family and create a nice campfire somewhere to grill hot dogs over. Don't forget the oranges and kvikklunch! Rent an airbnb somewhere with good access to either downhill slopes or cross-county trips. Spend the evening playing board games with friends, drinking and having it cozy by the fireplace again.
Late march / early April is springtime, and everyone is hungry for the sun. Easter arrives at some point. Again an excellent opportunity to go to some cottage and enjoy some time off.
But yeah, January and February are dreary.
So your suggestion for his problem is... alcohol? :-)
> Prepare for xmas, visit the various xmas markets.
Where frequently the main activity is drinking mulled wine aka... alcohol? :-)
> Spend the evening playing board games with friends, drinking and having it cozy by the fireplace again.
More alcohol? :-)))
> So your suggestion for his problem is... alcohol? :-)
To unixhero's problem? Cozying up with a loved one is a very nice way of spending parts of the winter. :-) Wine, fireplace, good tv show or good food. Mm.
>> Prepare for xmas, visit the various xmas markets.
> Where frequently the main activity is drinking mulled wine aka... alcohol? :-)
Well, that would require a license. There's usually a pub close by, but.. that sounds more like Germany to me. ;) Not sure I've seen mulled wine with alcohol at Norwegian xmas markets.
>> Spend the evening playing board games with friends, drinking and having it cozy by the fireplace again.
> More alcohol? :-)))
Yes. Absolutely.
what? How about other hobbies than sport? Music, arts, language learning, crafts, cooking, photography, etc. All of these have active communities around them you can join and socialize in.
EDIT: Sure, the winter part is somewhat true, at least if you're living up north. First snowfall comes mid/late October, and last early in May. "Real" summer is at most from mid June to mid/late August, around two months.
I own a small library of books I don't have time to read, I have several spoken languages I want to learn, I'd like to spend more time learning calligraphy, I'd love to learn to play music, I don't have enough time to go to the gym as much as I want, I could do with more time to spend programming as well.
The post is partially true. The parts about social cohesion are the partially true bit.
Norwegians are not that great at meeting new people outside of their established groups.. that's it.
Everything else in the post is not true in the slightest.
Honestly, is the southern hemisphere objectively so much better than the northern hemisphere?
• 68% of the total landmass is in the northern hemisphere
• 87% of the total population is in the northern hemisphere
Not surprisingly, the really chaotic wars and such things seem to be happening in the north.
So objectively speaking the southern hemisphere might not be so bad :)
Of course, I have absolutely no doubt Norway and surrounding countries are all generally peaceful good developed places.
It lets me maintain a lab notebook (my shell history) with perfect description of what software versions commands I ran used.
I don't upstream much. It's just packages I maintain in my own channel that support this.
On a multi user HPC server environment, it's simply ideal. Every user can have their own system setup. Love it.
Similar to your comment the ability to see exactly what is installed, with repeatability is fantastic. For my personal use-case the ability to install an application in parallel to Ubuntu's is really useful.
And @behnamoh "Does it bother you if people don't discover your work and don't use it?" If I may... I personally don't care if people use my project(s), as long as I do =) It's what makes you personally happy that matters ^_^ I'm actually working actively on v2.0 of the project without much support at all, just because I use it daily myself =)
Edit: I think that the best project(s) you can do in life is the ones you use yourself the most. When you are both creator and user of your project(s) you have unique perspective. Thanks to all for reading my comment.
See: the amount of miserable people on Reddit and elsewhere.
If you want to work your entire life on your hobby without worrying about how to source money at all ... well that requires being born rich most likely.
I think for most people the blocker is themselves and societal expectations. "People will think you are a bum" is more of a blocker than "How much money left in account". Especially for people reading this comment.
Unless you want to retire in a western country, you still have to build up a decent pension. And to reduce costs later, it probably also a good idea to buy a house.
If look at this study https://www.ramseysolutions.com/retirement/the-national-stud... most got wealthy by saving. These are not billionaires but they will have very comfortable retirements.
I hear you. I often dream of having a more fulfilling job, but every other job that I could do would earn a fraction of what I'm making now.
It's weird, because we were doing just fine when we had less diposable income. But it really feels like I can't go back now...
That leaves you with 4 days a week to work on your own projects.
In any case, close to no-one here in Norway earns a FAANG salary. At lest not as a salaried employee.
I'm currently living rent-free in an unoccupied student room in Edinburgh (it's out of term here, and I'm living with friends). I'm spending most of this month enjoying the Edinburgh Fringe Festival[0] (I saw 7 shows yesterday). The remainder of my time goes on Open Source/contracting work.
Due to the Fringe, this month is unusual and I'm not satisfied with my open source activity: it's mostly code reviews, force-multiplier work, mentoring and small changes, rather than larger architectural work or features.
Financially: In the UK, the minimum wage is £9.30/hour. This is around $20k/year. Open Source work nets me between $10 and $1.50/h via Open Collective (donation funded), plus <$100/m monthly from Patreon/GitHub Sponsors. I have a financial buffer from previous employment and my main aim is to avoid drawing into this buffer. I contract on a part-time basis, and this fills the income gap.
I've previously listed my hopes for the next month[1]. I want a multi-monitor setup for my next 2-week project, and that's not feasible to travel with.
Am I OK? I am for now. Although my lifestyle offers me a lot of flexibility, it isn't feasible to start a family or hit the traditional 'life goals' while living in this manner. It's a shame to have to fundraise for small personal projects (<$10k), rather than funding them yourself. I'm making financial sacrifices to be where I am and have an irrational worry about what the move back to traditional employment would look like in terms of salary, perceived experience, and coming to terms with the reduction of personal and creative freedom.
i wanna know this too!
Actually this blog [post] came about by stopping up and looking at my core values. Earlier this year I decided to quit alcohol for good and suddenly found myself struggling both socially and professionally. Now I'm slowly regaining control of my life and felt inspired to solidify my gratitude to the Guix community which played no small role.
So yes, I'm OK and getting better every day, thanks :-)
> Guix saved my life... finally feeling some stability in life; and a desire to explore other creative outlets such as blogging (hi!), cooking, growing sustainable foods; and healthy activities like climbing and skiing. None of this would be possible without Guix,
> If Guix ever becomes mainstream, it will be in spite of their efforts.
What's behind resentment of the sacrifices made by others on a journey to modest personal success and happiness? I think that many of us are deeply unhappy with our jobs. For moral reasons. The high salaries aren't enough. But there isn't the courage to take a plunge into something crazy, risky - the spiritual transformation so deeply craved for. If you have "mouths to feed", and think that is stopping you, try talking to your partner and dependents. You may be surprised that they love you, want you to be happy, and support your projects.
I will be the first person to appreciate the efforts of folks working on Open and Free Software, it's really noble. The world would be a better place if all our software was Free, but that's not the world we live in today.
I wish them all the luck and success in the world, but wanting adoption while also shunning (guilting?) your user base when confronted with practical feedback is not a healthy attitude.
Even hard-core free software folks will not see the use of proprietary software as a moral failing, but rather as an injustice. Nobody should be shamed for using proprietary software. (I consider it morally wrong to write proprietary software, though.)
Even people like RMS have stated as much in the past. Ignore those who turn this free software stuff into some weird quest for moral purity. Nobody cares what software you use; they may pity you for being coerced into using proprietary software or they may judge you for writing proprietary software.
re serious alternative: Guix is a serious alternative to Nix. It is for me and the scientists I support, because when it comes to reproducible science there's arguably no better solution out there. With my sysadmin hat on: it's a serious alternative, because I'm using it on dozens of machines successfully. On machines that require non-free blobs it's also a valid choice because its design makes it trivial to install selected non-free software packages.
So you consider my day job morally wrong, but I shouldn't be shamed for that. Got it.
When I mentioned that I needed some proprietary bits to get my printer working, it was suggested I buy a different printer. Can you perhaps see how that could be interpreted to be shameful?
> On machines that require non-free blobs it's also a valid choice because its design makes it trivial to install selected non-free software packages.
Great! Could you please refer me to the relevant documentation?
Yes, I do consider it morally wrong. So what? I'm aware that most humans are not free agents and are coerced into harmful or destructive behaviors because of economic pressures. We obviously don't agree on our premises. I don't think agreement is required, so what does it matter?
> relevant documentation
See the chapter on Channels in the Guix manual. It tells you how to enable third-party channels. Once that's done packages and services provided by those channels are indistinguishable from those provided with the official Guix channels, and you can use them wherever you would use packages and services provided by the Guix project.
If you want to replace packages used deep down in the package graph (e.g. glibc or something like that), see Package Transformations in the Guix manual. You can rewrite dependencies and drop in your own custom packages, no matter how deep into the guts of the graph you want to reach.
I'm often amazed by the intrinsic motivation and long track records of people working on open source.
I don't think DSLs are the right answer (a la Nix) -- and the fact that Guix is written in an infinitely malleable fully featured programming language is awesome IMO.
Might be room for some research in this area?
I certainly would have been worse off mentally without Guix as a creative or "OCD" outlet however.
Personally, I don't have a use for the OS, but that is no reflection on its quality or usefulness. I just play on a different jungle gym.
Writing an OS is not for the faint of heart. Lots of moving parts. I've done it (on a much, much smaller scale -embedded assembly). Great way to learn the ins and outs of pretty much any software pattern out there.
I see the usual smattering of "it's not a real software project because ... <insert metric here>," and understand where that comes from.
But I've been writing full production-Quality open-source "hobby" projects for over a decade. The polish, documentation, testing, and maintenance are part of the "fun" for me. I absolutely couldn't care any less, if no one uses my software; in fact, I prefer it that way, as I don't need to worry about moving anyone's cheese, if I decide to make changes. I use my software in my own work.
Fun. Rewarding. Feels important. Pure.
Maybe didn't save my life, but given a different start, definitely plausible.
I would add that little wins here and there are extremely motivating to keep pushing. For example, I recently started digging back into trigonometry after many years of being away. It's been extremely satisfying re-learning basic trig functions for an actual purpose, rather than simply solving a math problem.
I'm happy for you.
Find a thing that works for you, make it work for you and the people around you, win!
The core reason why I develop my own solutions to certain problems.
https://news.ycombinator.com/item?id=4761102
To contact Dang the best option, I suspect, is to email hn@ycombinator.com
> It's reassuring to know that all packages are bootstrapped and not just some random binary blobs.
Surely there must be some binary blobs, no?
Before Mes and the reduced binary seed (see the Guix manual for details) we used to have a selected set of bootstrap binaries (e.g. statically linked bash, tar, gzip, a big fat gcc, etc). With Mes the bootstrap seed is merely a couple of bytes that can feasibly be audited. Reproducible builds make it possible to audit the results of this early bootstrap.
Some binary blobs remain: for example, there's a blob for an arbitrary version of the Glasgow Haskell Compiler, because our collective attempts to bootstrap it from source have failed. (I have previously published some of my experiences in attempting to find a bootstrap path.)
Another blob is a bootstrap binary for the Pascal compiler; there's another one for one of the Scheme implementations, I think.
But for new packages we generally won't accept pre-built binaries. Our Java packages, for example, are completely built from source. Back then I worked on the Java bootstrap from source; we're building the first Java compiler and the first Java libraries from C (jikes + GNU classpath) and work our way up to the latest OpenJDK. Java libraries are also built completely from source --- we won't accept pre-built Jars (unlike Nix). This is probably the primary reason why Guix has fewer Java packages than Nix.
The Rust bootstrap (on x86_64) is also done from C.
The Guix zealotry will be their undoing, and frankly this is where Nix shines. I can use Nix at work, at home, with family, with vendors, with binary blobs, on macOS. The community tries very hard to help.
With Guix, sure, there's stuff like nonguix, but take a gander at this from the nonguix readme:
> Please do NOT promote this repository on any official Guix communication channels, such as their mailing lists or IRC channel, even in response to support requests! This is to show respect for the Guix project’s strict policy against recommending nonfree software, and to avoid any unnecessary hostility.
Guix has truly noble goals (in classic GNU fashion) but they're ultimately misguided. Yes sure it's great that it's pure and reproducible and whatever else but if I can't get stuff done with it it's useless. Actually useless.
The standard encouraged response to "Hi I'm a new Guix user and I was wondering how I can run steam?" is roughly equivalent to "Go fuck yourself" and I'm just amazed by that.
If Guix ever becomes mainstream, it will be in spite of their efforts.
In the meantime, I'm betting on Nix.
Fast forward fifteen years and I am finding that Richard Stallman was right. Despite the commercial success of open source, I have found that usefulness does not always lead to a healthy society. (And I am aware that, zealotry and fanaticism have their own issues).
It’s not that I am a purist. Nix is still more practical. I have also heard that Nix and Guix can run on the same machine. However, I think Guix and Free Software conserve principles that I think are important for our society and civilization.
Ideals are the compass, shows you the final destination, where you are going.
Pragmatism is the next step towards ideals. It prevents you from being paralized when the ideals are very far away.
Without ideals it would be as if you don't have a GPS on your car and roam around randomly. Without pragmatism it would be as if your car didn't have an engine.
Yes, RMS is living a completely impractical and undoable life for the rest of the people, no matter what he says.
Yes, RMS is right and he must exist to show us in which way we should work towards
I think in almost all cases the leftists are right, but too often they have have no way to realise their ideals.
The liberal platform is the only left-wing platform that can currently feasibly win an election in America. Maybe that will one day change, but I’ve seen too many on the left throw the baby out with the bathwater because they want their ideal society right now, and nothing else will suffice.
At the same time, I’m grateful they continue to show us which way we should work towards.
But if GP is right about their attitude, it saddens me.
Can't there be a middle ground? Like, promoting free software and still helping people getting things done in the world we live right now?
Rules about gently directing folks to nonguix ( https://www.google.com/search?q=nonguix ) resources are there, and people do try to be non-confrontational about it. It's a pretty businesslike vibe though.
i think ideally user groups like System Crafters might be a better introduction for those not steeped in GNU culture: https://systemcrafters.cc/
On the #guix IRC channel you'll often get a private message to direct you to other channels where it's fine to discuss proprietary software and how to make it work on Guix.
Does it feel good to you when you ask a question and the reply you get is "this isn't for you"?
Requiring a private reply on an IRC server to unblock a comically common use case is exactly the problem I am trying to highlight.
You don't have to belief anything to use Guix or participate in the community. It's an odd sense of entitlement to demand that others accept, accommodate, and welcome your ideology in dealings with you.
I also find it strange that you ascribe "this isn't for you" (a comment made here by strangers) to the project. No wonder then that you interpret entirely harmless community guidelines as if someone told you "to go fuck [your]self".
Yes, and I believe that this attitude harms community building, education and adoption efforts. You specifically use the words "not welcome". Other, more welcoming projects typically don't use such language outside of a Code of Conduct policy document. I'm pointing out that I've been made to feel unwelcome and you're saying that is entirely harmless.
Do you see the problem?
You're (inadvertently?) twisting the phrase "not welcome", which I apply to behavior, to make it apply to people. If we can't agree on how to apply words we cannot use them to approach understanding.
The problem here is the problem of incentives: you can state your desired end goal (prosperous communism, or free software utopia), but there is no mechanism to get there from here, and even if you somehow do get there, no mechanism to preserve that state without all encompassing coercion.
Moreover, the lack of incentives results in lack of prosperity: if there is little incentive to produce a lot (like in capitalism, where your profit grows with volume), people produce just enough to get by, plus some for individual entertainment. I’m sure Guix is good enough for the author’s needs! The problem is to get people to do things that nobody really wants to do. Who will build free software Salesforce? In capitalism, we do that by paying people money to do things they wouldn’t want to do for free. In fact, same is true in free and open source software: I can really only name a handful of projects that are widely used and of high quality that have not been largely funded by commercial world: OpenSSH, some other BSD stuff, what else?
Since commercial businesses want to use these things alongside their proprietary stuff, they necessarily cannot constitute part of pure (in free software sense) distributions. Thus, if you aim for purity, you either end up with shoddy quality, or depend on the largesse of the non-pure activities. This is analogous to modern welfare state, which can only function by skimming the value created by advanced commercial economies, and only to an extent that doesn’t actually choke them altogether.
In short, incentives matter.
Is this perhaps though a result of most projects allowing donations, and some companies (e.g. Google) having a lot of capital to throw around and funding them more-or-less just because? Would Linux not still exist in a similar form to today?
Also, I would add things like the GNU project, and notably VLC media player, alongside OpenSSH and the BSD stuff.
I agree with your final point, though. I can't actually think of a company whose product only in-house FOSS software. Red Hat, Suse, Purism, etc are building off community code, not something primarily developed internally. And companies like MongoDB make all of their money off of non-free cloud products.
One that I can think of that was once like this, the Subsonic media player, actually went closed source due to too many people re-hosting the code and not paying the maintainer.
Majority of work on Linux is done by people who are paid by their employers to do exactly that. Just look at this:
https://www.google.com/amp/s/news.itsfoss.com/huawei-kernel-...
Google involved in Linux is mainly not through their donations to Linux Foundation, but through code written by Google employees on the clock.
There is idealism guided by reality. This is the basis of Naturalism generally.
And there is idealism centered on what people can created that reality as less important then the social implications of that idealism. This is the basis of the Dialectics including Marxism.
I like FreeBSD and the general pragmatic Linux generally for the idealism founded on reality.
I dislike GNU often for the idealism void of thinking about reality.
I'm using Guix for work, at home, my wife has Guix on her gaming laptop with nvidia card, playing games on steam. Nobody has any problems with enabling rpmfusion repo on Fedora, using aur on Arch, adding backports repo for kde or whatever on ubuntu. But as soon as it's nonguix channel it's suddenly a problem. Huh. It's literally just a channel and ultimately it is still same Guix.
"What's that? NONGUIX? Hell no, I ain't having Guix working on my hardware! I don't want a better experience using Guix! Not in a million years!" And then:
> Guix has truly noble goals (in classic GNU fashion) but they're ultimately misguided.
> Actually useless.
Which are really big claims with nothing to back them up.
> The standard encouraged response to "Hi I'm a new Guix user and I was wondering how I can run steam?" is roughly equivalent to "Go fuck yourself" and I'm just amazed by that.
Look, if you can't figure out how to `guix install flatpak' and then flatpak install com.valvesoftware.Steam, then... well, I've nothing to say actually.
That's definitely better than "go fuck yourself". "If you don't have something nice to say, don't say anything at all" and all that.
Tbh, I've seen the "go fuck yourself" attitude in almost every Free Software community I've spent time around. It's really just a matter of whether it's encouraged, tolerated, or actively rejected by the project maintainers and influencers.
I would hope that someone writing a blog post this positive would be one of the "actively rejecting" folks, but I really don't know anything about Guix (hadn't heard of it until this post).
I will say that I run NixOS on my primary home server, and while there's definitely a learning curve there, the community I've experienced is largely very helpful, friendly, and positive. Now that I've got most of it working the way I want, I don't see myself moving to something else any time soon (it's absolutely rock solid).
Both variants are very similar. The Guix tool comes with a "guix system" command, which lets you build Guix System containers, container images, system images, qemu VM images, qemu VM scripts, etc. The only command that won't work on a "foreign" distro is "guix system reconfigure" --- but that's only a "guix system init /" away ;)
You wouldn't expect a bunch of people giving away a vegetarian cookbook to respond super well to, "This is all fine and great and all, but how can I adapt this recipe to grilled dog?"
Especially not after saying their project was pointless since you couldn't easily use it to shish kebab your cat.
> couldn't easily use it to shish kebab your cat
This seems like an unnecessarily hostile response, kind of inline with what the OP mentioned.
Which is totally sensible!
nonguix is proof that adding proprietary software doesn't break diddly squat.
It's all just gatekeeping. They could still achieve all their goals without being zealous, whether you believe me or not.
Guix makes it trivial to add other channels, such as nonguix, providing first-class packages. You can easily add proprietary software to Guix. It's just not part of Guix, because that's not the point of the project. Your "non-mythical" workflows that depend on proprietary workflows are not in any way impeded.
You are projecting zealotry and gatekeeping (both terms with strong negative connotation) onto the project. And I must say that your attitude does nothing to advance your point, however deeply buried in hostile rhetoric it may be.
As to mythical workflows without proprietary software: I'm not using proprietary software. Not on my laptops, my home network, my servers at work. Not because I'm some sort of "zealot", but because I simply have no need for it.
It's really quite odd to observe how worked up you get in response to seeing a community that is content with not using proprietary software.
Figuring out how to use proprietary software with Guix is a miserable experience. As a new, curious user, I was told: I won't receive help, I can't discuss it, I shouldn't use proprietary software, that Guix isn't for me.
This is not a welcoming response. It's not useful. It's hostile. It's zealotry.
Instead, a welcoming response would be to say yeah, that's unfortunate but understandable, maybe help educate why free software is important, and suggest a path forward, such as pointing the user to unofficial channels. By comparison, Nix excels here -- There is no hostility.
It's like being told by a mathematician that I shouldn't use math to calculate my taxes because taxes are unethical and illegal. Yeah that's nice, but I still have to pay them. I just want to calculate my taxes.
I think the very article we're commenting on here shows that it is very definitely not actually useless, it may merely have a different true use than is readily apparent.
Guix the package manager, while still not usable at work for me (lack of MacOS support - just 4 of my eng org's ~25 folks use Linux), is full of interesting ideas and features that work well in Linux settings, and can do useful things. It could make interesting dev shells, for example, much like nix-shell (or Flakes).
GuixSD without `nonguix`? Yeah, I unfortunately share your "it's dead in the water" opinion here. I'm not aware of much, if any, modern hardware that can fully boot to a usable-framerate GUI with networking (and that is also safe to use for such) without at least linux-firmware, which I believe is only available in nonguix. If there's exceptions to this, I'd genuinely love to hear them in a thread here.
"dead in the water" looks different.
In case you're not aware, you can easily create a Guix pack[1] in the Docker image format that can be run on MacOS.
[1] https://guix.gnu.org/manual/en/html_node/Invoking-guix-pack....
Why is ‘become mainstream’ some aspirational goal? What would that even mean?
Making a viable operating system is valuable without having it be the the one everyone uses.
Installing Python with "guix install python" tells me:
The following package will be installed:
python 3.8.2
But then it starts downloading tcl-8.6.10
tk-8.6.10
python-3.8.2-tk
I find this strange, because Python is most often used without Tk (or Tcl) and I don't want to waste disk space.Also, it installs pip3. But you can't use pip3 because you will get:
ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/gnu/store/...'
I guess Python packages should be installed using Guix too.
(EDIT: yes, you have to install them like "guix install python-numpy" etc.)Imho, this is a pity because it means one package manager (Guix) is circumventing another (pip), and thus wasting the effort that went into building and supporting it.
The thing is, language package managers may work well for software written solely in that language, but that breaks down real fast when any of them have native dependencies (and many do). Guix is intended to be a universal Linux package manager that can handle packages written in any language on any distro. (It does this better for some languages than others, admittedly.) I’ve experienced enough very broken Python environments that I appreciate only having one package manager to worry about.
I wouldn’t say it’s wasting the effort of Python packaging devs though; it does have an importer for pip packages, so the standard Python packaging work makes it easier to import pip packages into Guix.
You’re getting the permissions error as by default pip installs system-wide, for local stuff use the local option or a virtualenv.