hot take: nix is kinda overcomplicated - /g/ (#106148365) [Archived: 231 hours ago]

Anonymous
8/5/2025, 1:05:48 PM No.106148365
c9347c80-7b49-11e9-972e-03413da7be7a-1125245025
c9347c80-7b49-11e9-972e-03413da7be7a-1125245025
md5: 98a550b0e1f97f3f609b7b0ef58387c6🔍
"i want a turing-complete config language for my system" statements dreamed up by the utterly deranged

just use lbu on alpine data disk mode like a sane person
https://wiki.alpinelinux.org/wiki/Alpine_local_backup
Replies: >>106148545 >>106149645 >>106149681 >>106149803 >>106152169 >>106152869 >>106152952 >>106156149 >>106156249 >>106160155 >>106160392 >>106161444
Anonymous
8/5/2025, 1:33:53 PM No.106148545
>>106148365 (OP)
guix uses lisp if you wanna freetard
Replies: >>106149814
Anonymous
8/5/2025, 3:50:31 PM No.106149645
>>106148365 (OP)
There's no point in making an adhoc DSL given the power required for nix/guix use-cases
In order to make good use of DSL you have to guarantee well defined scope and a strong "closed world" assumption, which isn't clearly the case
You'll end up writing a half hassed crippled language that is accidentally turing-complete anyway

Even when you start with a clearly delimited scope, if you let your project grow enough you end up like I said above (see most of the implementation of SQL, TeX/LaTex, [abused]CSS+HTML and such)
At this point, you might as well design a good general-purpose language (or use an existing one) with some syntactic sugar for the specific domain, rather than end up with people abusing the Turing-completeness of your configuration language
Replies: >>106161008
Anonymous
8/5/2025, 3:53:35 PM No.106149681
>>106148365 (OP)
I like the idea of nixos but the fact that you need to do some things outside of configuration.nix (adding channels, ...) is retarded.
Replies: >>106149814
Anonymous
8/5/2025, 4:03:18 PM No.106149779
Nix is not overcomplicated, but it adds a new layer of complexity in the hope it will consolidate the state of the system and the installation of packages into one language and one configuration file.
Anonymous
8/5/2025, 4:05:55 PM No.106149803
>>106148365 (OP)
that's really not the problem though. the problem is how people expect FHS to be truth when it's just a convention and then getting bit by shitty software expecting things to just be in /usr/lib/* or whatever.
Anonymous
8/5/2025, 4:07:14 PM No.106149814
>>106149681
flakes exist anon...
>>106148545
no matter how deranged nix (the language) is, at least it isn't a fucking lisp.
Replies: >>106155551 >>106160431
Anonymous
8/5/2025, 7:29:22 PM No.106152169
>>106148365 (OP)
Nix flakes aren't that bad by themselves but NixOS is such a clusterfuck of overlapping tools and paradigms. i would never use Nix for anything other than dev environments. Guix is a better and more simplified system base and if it had a better package ecosystem i'd switch to it for dev envs too.
Replies: >>106152271
Anonymous
8/5/2025, 7:38:05 PM No.106152271
>>106152169
> NixOS is such a clusterfuck of overlapping tools and paradigms
how do you mean?
unless you mean the difference between nixos-rebuild, nix-* and nix <subcommand>. eventually the nix-* commands will be deprecated.
Replies: >>106152869 >>106160155
Anonymous
8/5/2025, 8:16:31 PM No.106152869
1704071481771436
1704071481771436
md5: cdd8501a164a3357df20333ceff2a718🔍
>>106148365 (OP)
>alpine
>sane person
pick one

>>106152271
>just two more weeks
the true NixOS TM experience
still way more comfy then archbtw or debian
Anonymous
8/5/2025, 8:22:21 PM No.106152952
alpine creator
alpine creator
md5: 9cc3c1c54b691fee9eb4546c1c7d1216🔍
>>106148365 (OP)
>just use lbu on alpine data disk mode like a sane person
Here's your dedicated alpine support person, he does it for free.
Replies: >>106161018
Anonymous
8/5/2025, 11:38:46 PM No.106155551
absolutelyProprietary
absolutelyProprietary
md5: 33948ce60700319ce04ef6200f4b818d🔍
>>106149814
>lisp hate
Not in my board!
Anonymous
8/6/2025, 12:16:19 AM No.106155984
i tried learning nix syntax last week. it's fairly straight forward, but the implementation documentation assumes you're already an expert. it's fucking hopeless.
>okay so the return of this function doesn't even get used....
>fails without it
what?
Replies: >>106156028
Anonymous
8/6/2025, 12:19:05 AM No.106156028
>>106155984
oh let's not forget
>okay so this function recursively returns the value of its own output to the function as its only input
???????????
Anonymous
8/6/2025, 12:20:45 AM No.106156041
The problem with Nix is that it assumes that the user doesn't change things. If you do you have to change multiple config files and then rebuild your entire system, it's retarded.
Replies: >>106156127
Anonymous
8/6/2025, 12:27:25 AM No.106156127
>>106156041
that's what i've been saying for years. nix is a solution in search of a problem.

>you need a reproducible environment
like a container? try lxc, docker, podman, systemd-nspawn.
>no, like a full computer
so a thin VM? qemu is pretty amazing these days, or xen, or you could just run out of a RO filesystem like squashfs...
>no no, like a declarative build system
so like cmake, bazel, meson, ninja...?
>no no no, like you need fully configurable user environment
so... literally any distro that isn't nix?
Anonymous
8/6/2025, 12:29:23 AM No.106156149
>>106148365 (OP)
I hate the idea of immutable desktop distros, it does not solve any issue and are horrible to work with day-to-day.
I understand for embedded, i build distros at work with read-only rootfs and dm-verity with A/B partition scheme but I control the entire stack and we do update by dd the entire partition in one go from one known working state to another known working state...
I like my OSes simple, I don't need any of this shit and I can use OCI containers if I need fancy shit
Anonymous
8/6/2025, 12:39:23 AM No.106156249
>>106148365 (OP)
Yup, back to Arch it is. NixOS just ends up being a huge timesink like this article argues: https://www.rugu.dev/en/blog/leaving-nixos/
Replies: >>106161029
Anonymous
8/6/2025, 3:45:26 AM No.106157834
tabs-vs-spaces-4113714436
tabs-vs-spaces-4113714436
md5: cce97c0916352831e13f27037cbfc58f🔍
>nix multiline strings aren't compatible with tab indentation

tab bros... the 2spacers have won... it's owari da.
Anonymous
8/6/2025, 10:27:28 AM No.106160155
>>106148365 (OP)
In theory: Great! I can declaretively configure my system in a single config that's reproducible! In practice: Oh, this fucking additional DSL layer on top of an already complex mess is throwing errors again. I now have to waste time figuring out this shit by scavenging through deprecated and conflicting documentation online. Oh! Here's what I needed - buried 3 pages into the 4th nixtroon blog I had to sift through.

>>106152271
Nix is fragmented. Creator now works for a for-profit company that splintered the ecosystem by developing stuff like flakes without input from the core team. Now, you get a bunch of tools that conflict with one another, half-implemented standard, reliance on maintainers of every nixpkg in nixpkgs, etc. And the best part: flakes aren't officially part of base Nix, so it's not even allowed to be mentioned in the already shitty half-baked docs!

https://jade.fyi/blog/flakes-arent-real/
Replies: >>106162033
Anonymous
8/6/2025, 11:09:53 AM No.106160392
>>106148365 (OP)
i played fallout new vegas then reaaaly got inti nix os
Anonymous
8/6/2025, 11:15:31 AM No.106160431
>>106149814
Based take
Anonymous
8/6/2025, 12:56:06 PM No.106161008
>>106149645
You've been reading too much methodology slop, anon. Do you even code?
Anonymous
8/6/2025, 12:57:47 PM No.106161018
1625317266674
1625317266674
md5: 95c7de27216ec34139f24b179bafa454🔍
>>106152952
This is the final form of the Amerimutt.
Anonymous
8/6/2025, 12:59:25 PM No.106161029
>>106156249
I know this without even having tried it. It's a midwit tar pit.
Anonymous
8/6/2025, 1:58:18 PM No.106161444
>>106148365 (OP)
Seems like a nice option for autists
Anonymous
8/6/2025, 3:08:34 PM No.106162033
>>106160155
>Creator now works for a for-profit company that splintered the ecosystem by developing stuff like flakes without input from the core team.
He's worked for companies that used nix for quite a long time. Now he's at determinate systems, before he was at tweag.io which was a consultant agency, which is where he got the flakes idea.
>Now, you get a bunch of tools that conflict with one another, half-implemented standard, reliance on maintainers of every nixpkg in nixpkgs, etc.
Nothing really conflicts with anything. And all packages need maintenance
>And the best part: flakes aren't officially part of base Nix, so it's not even allowed to be mentioned in the already shitty half-baked docs!
https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix
The official manual for nix has had the flakes chapters and new cli and has been added to every release.
>B-but it's not referenced in the nixos manual!
You don't need nixOS to use flakes, and it is referrenced, including a section to install nixos from a flake.
Anonymous
8/6/2025, 5:15:08 PM No.106163288
eva canada
eva canada
md5: 3b8a37d3251f98cfb9f5da183944d98d🔍
Could Nix theoretically be re-implemented in a normie friendly language like Javascript or Python or whatever?
Anonymous
8/6/2025, 7:23:28 PM No.106164651
file
file
md5: d19ea8ca5def9eff199421b16c319d4b🔍
how do I cross compile a qt program for windows using nix? for linux it works beautifully but for windows it keeps refusing to evaluate because I guess some package is trying to pull in a linux only dependency (libglvnd) and I'm not sure how to tell nix to omit that package. I'm open to alternatives of course. nix is just what seems easiest to me right now and I can barely care about building for windows