News for hackers. Stuff that matters.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by drakerossman on Sunday July 02, 2023 @09:19AM (#36561237)
Thank you for your comment velcrovan, but I don't agree with this sentiment. I've been using Ubuntu for personal laptop for a decade, and whatever for a given corporate laptop, and was reluctant to dig into NixOS, until it clicked - the point is to have it done once, and you won't have to do it ever again! NixOS is the only one that allows so.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @09:31AM (#36561329)
I don't think NixOS is the only distro that has this property, what prevents someone from making a shell script that installs your applications and dotfiles? Blow away your OS install and get your set up back in one line is my experience and I don't run Nix or Guix for most of my applications
Re:Wayland on NixOS: Confusion, Conquest, Triumph by ParetoOptimal on Sunday July 02, 2023 @09:46AM (#36561448)
> what prevents someone from making a shell script that installs your applications and dotfiles

The reproducibility of that would not be nearly as high.

For example, if the source of those applications is apt the versions of packages would change over time.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @10:05AM (#36561590)
yes, i am fine with that personally and its hard for me to grok what benefits reproducibility in the guix sense would get me here
Re:Wayland on NixOS: Confusion, Conquest, Triumph by rgoulter on Sunday July 02, 2023 @10:56AM (#36562015)
One example was "I want to run an old version Hugo".

In the time since running the old version of hugo, enough about the system had changed:

- The OS had changed significantly (so re-running an old build didn't work). - The compiler had changed significantly (so compiling from source would have been difficult).

https://jvns.ca/blog/2023/02/28/some-notes-on-using-nix/

Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @02:18PM (#36564105)
Great example! Managing old or multiple versions of software is actually a great usecase for Guix.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by ParetoOptimal on Wednesday July 05, 2023 @10:45AM (#36601157)
> i am fine with that personally and its hard for me to grok what benefits reproducibility in the guix sense would get me here

I read this as:

> i am fine with the lack of reproducibility of apt-update personally and its hard for me to grok what benefits reproducibility in the guix sense would get me here

To which my answer is:

Guix gets you the reproducibility benefit of not having the reproducibility harming apt-update.

Does this help answer your question or confuse things more?

Re:Wayland on NixOS: Confusion, Conquest, Triumph by angio on Sunday July 02, 2023 @10:01AM (#36561560)
With NixOS someone else has written that script and now I can use a DSL to configure my desktop
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @10:04AM (#36561586)
someone wrote a script to install only the applications I want and configure my .config files the way I do but for guix? this seems to be a conflation, i'm not producing packages for my distro which is what the equivalent guix script would be, no?

edit: and isnt shell a DSL too? one i already know in contrast with Nixlang.

edit2: and not just already know it, but also much much much less likely to fade into obscurity than nixlang... bash/dash/sh aren't ever going away

Re:Wayland on NixOS: Confusion, Conquest, Triumph by dbeley on Sunday July 02, 2023 @10:03AM (#36561573)
It's just impossible to have the same level of configuration with your own custom script, NixOS goes way beyond: its configuration capabilities goes from your bootloader to user-level Firefox add-ons, and you have niceties like reproductability and rollbacks.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @10:06AM (#36561599)
what? none of that is impossible for me to configure with a shell script? i install my userChrome.css to firefox with it, and i havent tried the addons aspect because my firefox account syncs them for me. since i run zfs i should get rollbacks too without learning a new language and packaging theory for guix
Re:Wayland on NixOS: Confusion, Conquest, Triumph by dbeley on Sunday July 02, 2023 @10:27AM (#36561788)
How do you install the userChrome.CSS automatically? As far as I know it needs to be placed in a folder containing a hash that's only generated at firefox first launch.

At some point if you want to configure everything with your own shell script it will be a nightmare to maintain, NixOS is easy to learn in comparison.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by Arnavion on Sunday July 02, 2023 @11:27AM (#36562338)
You can generate the metadata in ~/.mozilla/firefox (installs.ini, profiles.ini) to have whatever profile dirs you want. Only if you let FF generate them itself will they have the unknown random names.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @02:13PM (#36564031)
i just glob over *.default and *.default-release `mkdir -p chrome` and move it there then check if my user.js has the setting that enables legacy userchrome (via grep, (useless) cat, and pipe), and if not add it. wouldnt guix do something similar if it managed my userChrome.css?

i am not sold on the maintainability delta between my script and a guix one, but i only use a text editor, a terminal emulator and two web browsers for 90% of my use, so maybe im just too small scale to run into the maintainability issue it's trying to solve. the main struggle i have is in making the config files, and guix would only add another layer to that.

easy to learn might be a valid consideration for me if i didn't already feel comfortable with scripts of the normal non guix variety, but the devil i know does fine.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by dbeley on Sunday July 02, 2023 @02:37PM (#36564321)
NixOS is overriding the profile name by using your username so the name is not auto-generated anymore (NixOS hates that) so it knows the user profile will always be at ~/.mozilla/firefox/USERNAME. It automatically creates a ~ /.mozilla/firefox/profiles.ini with a custom profile.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @03:16PM (#36564672)
That's a nice small benefit that seems dwarfed by the increase of complexity, but maybe I am blind to my death of a million paper cuts that I've grown used to.

Maybe I'll update my script to use named instead of randomly generated profiles, though.

What does it do for multiple profiles?

Re:Wayland on NixOS: Confusion, Conquest, Triumph by dbeley on Sunday July 02, 2023 @04:32PM (#36565382)
You can specify as many profiles as you want, you have a property called firefox.profiles that can be an array and you would declare as many settings you would want in it. They still need to be names though (either through a variable like an username or a name you would set yourself).
Re:Wayland on NixOS: Confusion, Conquest, Triumph by kaba0 on Monday July 03, 2023 @02:29AM (#36569531)
It’s increasine in complexity when you are writing shell scripts, it is not when you have a proper system in place that provides a sane abstraction/interface for defining such configurations.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Monday July 03, 2023 @06:34AM (#36571058)
Guix is a huge upfront increase of complexity for someone who already has a shell script to do the same thing.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by kaba0 on Sunday July 02, 2023 @10:42AM (#36561908)
It’s possible as in you have a Turing-complete set of tools. You would basically have to recreate something like Nix for it to properly work, and would only end up with a much worse version of it, without the huge amount of work that goes into it (both the core, but especially the “wide ranging software support” part).
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @02:13PM (#36564032)
a set of tools that wont fade away, its much harder to believe that about nixlang than its for bash/dash/sh

i dont have to recreate nix to get easy customized installs, my installer script doesnt need to know or do anything about derivations, monads, flakes, etc. it just uses packages from my distro and pulls in my .config directory. what else does nix do that my script should do? the software my script installs is probably more supported than it would be on nix because its on ubuntu, one of the more commonly supported distros.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by kaba0 on Monday July 03, 2023 @01:05AM (#36569121)
It doesn’t have to go away when your alternative won’t work correctly in the first place and will collapse under its weight.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by pxc on Friday July 07, 2023 @06:33PM (#36639145)
* * *
Re:Wayland on NixOS: Confusion, Conquest, Triumph by rgoulter on Sunday July 02, 2023 @10:51AM (#36561981)
Writing a shell script to install packages, hoping it's idempotent, isn't to the level of "[do it] once, and you won't have to do it ever again!".

Installing a list of packages is relatively easy, sure.

A NixOS system configuration also takes care of settings for different services; which typically you'd edit files under /etc/ for.

The closest practical analogue to a NixOS system configuration that's popular is probably setting up your computer.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @02:13PM (#36564021)
Coping files to /etc doesn't require Guix. Installing applications and copying their respective config files doesn't require Guix. Guix seems worse for this than a repo of config files and a shell script or makefile, because of the required extra complexity
Re:Wayland on NixOS: Confusion, Conquest, Triumph by rgoulter on Sunday July 02, 2023 @09:11PM (#36567549)
It's possible to have a full system setup with shell scripts. The only things I'm aware of people doing are copy-pasting the "install these packages" when setting up a system.

When it comes to reliably getting a system to an expected state, shell scripts aren't a popular solution.

Nix and Guix are more complex than not using them. I'd compare that to Vim/Emacs being more complex than Notepad.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @09:29PM (#36567645)
My script installs configuration as well as packages. Guix is way more complex than my script, not only in part because I would need package a non zero amount of things to have it be feature complete with my shell script, and unlike your notepad vs emacs example, people don't seem to point to anything that Guix can do that my system can't, or the things they identify I do so rarely that it would be more efficient to do them manually instead of porting my system to Guix, like making containers.

Also not a popular way to configure a system? They are THE default way, that is being tried to displaced by various configuration management tooling and Guix, no?

If I wanted to sells emacs to someone on notepad I wouldn't have to resort to things as vague and hand wavy and dubious in value as reproducible'). I'd be listing features they lack. The Guix features I want I have, which is simple install of my applications and configs

You don't need Guix to copy files to /etc, you don't need it to install your applications and you can get a pretty reasonably easy custom install with a repo of config files and a script to clone and copy.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by jt2190 on Sunday July 02, 2023 @09:37AM (#36561383)
> … I don't agree with this sentiment.

Not the parent poster… I’m unclear what sentiment you’re disagreeing with: Are you inferring that velcrovan is against tinkering with niche distros?

Re:Wayland on NixOS: Confusion, Conquest, Triumph by yjftsjthsd-h on Sunday July 02, 2023 @11:06AM (#36562101)
I read it that way; it reads as "have fun playing with your broken, useless, toy OS". Traditionally followed by some comment about how they use a Real OS for Serious Work that definitely never breaks (conveniently skipping over the ways it breaks that they have to deal with).
Re:Wayland on NixOS: Confusion, Conquest, Triumph by velcrovan on Sunday July 02, 2023 @11:32AM (#36562399)
Sorry, I should have included a /nosarcasm tag or something, that is definitely not how I meant it.

I still enjoy the level of sleuthing and tinkering shown in the original linked post, I just choose to spend my time/energy budget on other kinds of challenges, rather than on my personal machine’s operating system. If I had the level of free time I had in my twenties I’m sure I would still be on Linux.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by yjftsjthsd-h on Sunday July 02, 2023 @11:37AM (#36562451)
Okay, that does help to know. It's a weird position IMO (you really spend less time/energy on another OS's quirks?), but it's nice to know that it wasn't intended condescendingly.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by WastingMyTime89 on Sunday July 02, 2023 @09:23AM (#36561270)
> the point is to have it done once, and you won't have to do it ever again! NixOS is the only one that allows so.

Until the tooling introduces a breaking change or new cooler way to do things appear and people stop supporting the old way because "everyone switched anyway". Been there, done that.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by Ericson2314 on Sunday July 02, 2023 @09:36AM (#36561368)
When you upgrade NixOS there are always warnings on anything deprecated telling you what to do.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by WastingMyTime89 on Sunday July 02, 2023 @10:13AM (#36561673)
I guessed so. So it’s not at all done once, never done again as the OP suggested but rather done once, now keep redoing something slightly different every fortnight and enjoy your constantly half-broken system. In a way, it’s reassuring to see that niche Linux distributions have changed so little in the decade since I last used one.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by mksybr on Sunday July 02, 2023 @10:18AM (#36561719)
this is presumably why guix calls itself "an advanced packaging management system". if you don't want to futz around with that kind of thing theres always ubuntu which mostly just works and even comes prebaked with activedirectory support so you can argue with your IT department about it :)
Re:Wayland on NixOS: Confusion, Conquest, Triumph by yjftsjthsd-h on Sunday July 02, 2023 @10:59AM (#36562038)
> now keep redoing something slightly different every fortnight and enjoy your constantly half-broken system.

Yeah, if any of that is even remotely true then something is horribly wrong with your system.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by Ericson2314 on Sunday July 02, 2023 @04:32PM (#36565384)
I only yet this once every 6 months. And the issues are resolved in minutes following the printed instructions (as opposed to crawling through arch wiki or whatever).

Most of the time the deprecations require no action on my part, I simply rather keep things tidy and make the warnings go away.

> In a way, it’s reassuring to see that niche Linux distributions have changed so little in the decade since I last used one.

You are misunderstanding what I am saying. The situation is very different. There are still Linux/Wayland/NVidia/Whatever issues, but configuring NixOS is not among them.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by pxc on Friday July 07, 2023 @06:27PM (#36639090)
> Most of the time the deprecations require no action on my part, I simply rather keep things tidy and make the warnings go away.

Here to confirm that you can usually ignore those warnings for a year or more, hahaha.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by kaba0 on Monday July 03, 2023 @02:27AM (#36569517)
What exactly is the point of this comment? You haven’t even tried the distro, was assumed something wrongly, and then double down on it?
Re:Wayland on NixOS: Confusion, Conquest, Triumph by angio on Sunday July 02, 2023 @10:03AM (#36561579)
In that case NixOS rebuild will fail telling you exactly what to do. This is better than upgrading MacOS, where a system upgrade may break tools installed with homebrew and there is no way of knowing until _after_ the upgrade.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by rgoulter on Sunday July 02, 2023 @10:43AM (#36561916)
> Until the tooling introduces a breaking change or new cooler way to do things appear and people stop supporting the old way because "everyone switched anyway".

For those not familiar:

Nix tooling introduced flakes. The community generally likes this feature since it provides a couple of significant improvements on how nix gets used.

There was a breaking change between 2.3 and 2.4 for even the non-flake code; but, that was partly because 2.4 was a huge release. (2.3 released in 2019/09; 2.4 in 2021/11). Releases since then have been smaller and more frequent.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by xyproto on Sunday July 02, 2023 @09:46AM (#36561451)
Then the protocol changes from X to Wayland, python changes from 2 to 3, gtk changes from 2 to 4 and systemd replaces core services...
Re:Wayland on NixOS: Confusion, Conquest, Triumph by yjftsjthsd-h on Sunday July 02, 2023 @12:40PM (#36563102)
You don't actually have to switch to Wayland, you can keep using X like for the last couple decades. The python change was annoying, but it took like a decade and I'm not sure it was actually user impacting; most distros switched packages over invisibly. Same for GTK and systemd; they were annoying for tinkerers and maintainers, but would an end user actually notice?
Re:Wayland on NixOS: Confusion, Conquest, Triumph by xyproto on Sunday July 02, 2023 @06:41PM (#36566552)
End users can stay at old versions and old distros for as long as they like.

Most users can benefit from security updates, though. They might also (maybe) get better performance, new features and a smoother user experience.

Re:Wayland on NixOS: Confusion, Conquest, Triumph by yjftsjthsd-h on Sunday July 02, 2023 @09:04PM (#36567510)
Okay? That has very little to do with anything I wrote. Xorg is maintained, python2 was maintained for a long time into 3's lifecycle, and GTK and systemd shouldn't have broken anything for users. None of this requires foregoing updates.
Re:Wayland on NixOS: Confusion, Conquest, Triumph by pxc on Friday July 07, 2023 @06:40PM (#36639218)
* * *