▲ 68 ▼ Why I'm Leaving NixOS After a Year? (Uğur Erdem Seyfi) (www.rugu.dev) submitted 1 year ago by cm0002@programming.dev to c/linux@programming.dev 32 comments fedilink hide all child comments
[+] chonkyninja@lemmy.world -73 points 1 year ago (21 children) Because reading the docs is too hard for an imbecile? permalink fedilink source hideshow 21 child comments replies: [–] recursive_recursion@piefed.ca 35 points 1 year ago* (last edited 1 year ago) (3 children) My personal nixos config dude, I learned and used NixOS for 2 years and I found it incredibly challenging as some of the documentation is fragmented to the point where you have to delve into several hundreds of others configurations to fix singular problems. Some issues are actually impossible to solve (unless you have months of time off and proficiency with Nix) as NixOS is not FHS compliant. In addition, good luck with finding what you want as sometimes it's unsearchable as the devs decided not to distinguish the 3 from each other. Why? I have no idea. I haven't even mentioned Nix Flakes which is it's own level of complexity due to it's experimental but recommended status by the community. Perhaps it's a skill issue but I feel that I've spent my 2 years of due diligence to know that it's still quite rough on the edges. At this point I'm personally moving back to Arch. I'll be experimenting with Gentoo sometime in the near future but at this point it's very unlikely I'll ever revisit Nix and NixOS especially since Valve is doing fantastic work in collaboaration with the Arch Linux devs. For all I've said above Because reading the docs is too hard for an imbecile? Please reconsider before posting future antagonistic and abbrasive comments as it does no favors to you nor the community and only paints a target on your back👍 Nix and NixOS are not easy beasts to tame as advanced help is sparce and individual challenges can be quite niche such that help cannot be readily found. permalink fedilink source parent hideshow 3 child comments replies: [–] littleomid@feddit.org 11 points 1 year ago* ## Windows emulator. bottles wine winetricks Wine Is Not an Emulator! 😀 permalink fedilink source parent [–] sukhmel@programming.dev 3 points 1 year ago I agree completely, I still think that for some things Nix is the most convenient thing, e.g. when packaging cross-compiled images of the apps, but I would never be able to build this from ground up, and whenever something breaks it's a pain to fix. Using NixOS on Mac at least taught me how it works more or less, and it mostly does except for when it doesn't and I'm in it deep permalink fedilink source parent [–] chonkyninja@lemmy.world 1 point 1 year ago I’ve been using Nix for well over a decade and yes it’s fucking hard, sometimes. But when it’s hard it’s usually solvable by using the repl so you can actually see what’s happening. permalink fedilink source parent [–] BatmanAoD@programming.dev 23 points 1 year ago (4 children) If you drive a car, have you read the entire owner's manual for every car you've owned? If you're a homeowner, how about your hvac system? What about your system shell? Your compiler(s)? At some point you need your tools to be intuitive enough that you don't need to read an entire manual in order to do your work. permalink fedilink source parent hideshow 4 child comments replies: [–] TeamAssimilation@infosec.pub 19 points 1 year ago (3 children) I suspect this attitude of “read the fucken manuel” comes from when tooling was simpler and you could actually read all the manuals (or buy a book) to learn every small bit of it. Today, I’d be surprised if someone actually read all the Windows, .Net, and Powershell docs before attempting to write a small script. Heck, even simpler things like Python have massive docs beneath every layer of them. You don’t learn everything from the ground up anymore, only the relevant parts to your use case. permalink fedilink source parent hideshow 3 child comments replies: [–] sxan@midwest.social 4 points 1 year ago (2 children) I miss the days when every package came with a man page. Every respectable package; don't come at me, pendants. permalink fedilink source parent hideshow 2 child comments replies: [+] NostraDavid@programming.dev 3 points 1 year ago* (last edited 1 month ago) (1 child) [deleted] permalink fedilink source parent hideshow 1 child comment replies: [–] sxan@midwest.social 1 point 1 year ago No, not on porpoise. permalink fedilink source parent [–] bitcrafter@programming.dev 21 points 1 year ago I cannot speak on behalf of the article author, but as someone who personally is an imbecile, the answer is: definitely! permalink fedilink source parent [–] arcterus@piefed.blahaj.zone 21 points 1 year ago* (last edited 1 year ago) (10 children) I'm gonna be honest, I use NixOS, but the docs fucking suck, and a number of things are just broken in nixpkgs. For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options, which means some kernel patches won't work unless you manually supply the entire kernel config. EDIT: what's even more annoying about it not working is that it fails to apply silently. In other words, your kernel tries to compile and then an hour later it fails because your config changes weren't applied. permalink fedilink source parent hideshow 10 child comments replies: [–] Laser@feddit.org 3 points 1 year ago (7 children) For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options From reading, I thought this option was for adding options, not removing them. Sure, you might be able to set options to "no", but I don't think this will override the defaults... permalink fedilink source parent hideshow 7 child comments replies: [–] arcterus@piefed.blahaj.zone 7 points 1 year ago (6 children) You're supposed to be able to use lib.kernel.unset to unset them. In any case, that's just one problem. The main issue is the entire option is ignored because of a typo in nixpkgs. permalink fedilink source parent hideshow 6 child comments replies: [–] smiletolerantly@awful.systems 4 points 1 year ago (4 children) Would you mind opening a PR to fix that typo? Would be useful for others as well! permalink fedilink source parent hideshow 4 child comments replies: [–] arcterus@piefed.blahaj.zone 10 points 1 year ago* (last edited 1 year ago) (3 children) I'm planning to, I'm waiting for the kernel to finish building rn lol EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115). permalink fedilink source parent hideshow 3 child comments replies: [–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent [–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent [–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent [–] Laser@feddit.org 2 points 1 year ago I see, thanks permalink fedilink source parent [–] chonkyninja@lemmy.world 1 point 1 year ago (1 child) An hour? Are you on a pentium4? I’m building everything from source, daily, multiple times and the longest it takes is usually 1.5hours for a complete build of Gnome, Firefox, Nvidia+Kernel. And that’s only if I don’t update for like a month. But just a kernel build, that should only take a min or two. permalink fedilink source parent hideshow 1 child comment replies: [–] arcterus@piefed.blahaj.zone 4 points 1 year ago I'm building multiple patchsets on a laptop. How tf do you expect millions of lines of even somewhat optimized code to compile in a minute or two? The configuration by itself wastes like half of that, not to mention nix taking 2 minutes to evaluate because specializations are slow af. It in fact takes more like 2-3 hours for them to finish. permalink fedilink source parent
[–] recursive_recursion@piefed.ca 35 points 1 year ago* (last edited 1 year ago) (3 children) My personal nixos config dude, I learned and used NixOS for 2 years and I found it incredibly challenging as some of the documentation is fragmented to the point where you have to delve into several hundreds of others configurations to fix singular problems. Some issues are actually impossible to solve (unless you have months of time off and proficiency with Nix) as NixOS is not FHS compliant. In addition, good luck with finding what you want as sometimes it's unsearchable as the devs decided not to distinguish the 3 from each other. Why? I have no idea. I haven't even mentioned Nix Flakes which is it's own level of complexity due to it's experimental but recommended status by the community. Perhaps it's a skill issue but I feel that I've spent my 2 years of due diligence to know that it's still quite rough on the edges. At this point I'm personally moving back to Arch. I'll be experimenting with Gentoo sometime in the near future but at this point it's very unlikely I'll ever revisit Nix and NixOS especially since Valve is doing fantastic work in collaboaration with the Arch Linux devs. For all I've said above Because reading the docs is too hard for an imbecile? Please reconsider before posting future antagonistic and abbrasive comments as it does no favors to you nor the community and only paints a target on your back👍 Nix and NixOS are not easy beasts to tame as advanced help is sparce and individual challenges can be quite niche such that help cannot be readily found. permalink fedilink source parent hideshow 3 child comments replies: [–] littleomid@feddit.org 11 points 1 year ago* ## Windows emulator. bottles wine winetricks Wine Is Not an Emulator! 😀 permalink fedilink source parent [–] sukhmel@programming.dev 3 points 1 year ago I agree completely, I still think that for some things Nix is the most convenient thing, e.g. when packaging cross-compiled images of the apps, but I would never be able to build this from ground up, and whenever something breaks it's a pain to fix. Using NixOS on Mac at least taught me how it works more or less, and it mostly does except for when it doesn't and I'm in it deep permalink fedilink source parent [–] chonkyninja@lemmy.world 1 point 1 year ago I’ve been using Nix for well over a decade and yes it’s fucking hard, sometimes. But when it’s hard it’s usually solvable by using the repl so you can actually see what’s happening. permalink fedilink source parent
[–] littleomid@feddit.org 11 points 1 year ago* ## Windows emulator. bottles wine winetricks Wine Is Not an Emulator! 😀 permalink fedilink source parent
[–] sukhmel@programming.dev 3 points 1 year ago I agree completely, I still think that for some things Nix is the most convenient thing, e.g. when packaging cross-compiled images of the apps, but I would never be able to build this from ground up, and whenever something breaks it's a pain to fix. Using NixOS on Mac at least taught me how it works more or less, and it mostly does except for when it doesn't and I'm in it deep permalink fedilink source parent
[–] chonkyninja@lemmy.world 1 point 1 year ago I’ve been using Nix for well over a decade and yes it’s fucking hard, sometimes. But when it’s hard it’s usually solvable by using the repl so you can actually see what’s happening. permalink fedilink source parent
[–] BatmanAoD@programming.dev 23 points 1 year ago (4 children) If you drive a car, have you read the entire owner's manual for every car you've owned? If you're a homeowner, how about your hvac system? What about your system shell? Your compiler(s)? At some point you need your tools to be intuitive enough that you don't need to read an entire manual in order to do your work. permalink fedilink source parent hideshow 4 child comments replies: [–] TeamAssimilation@infosec.pub 19 points 1 year ago (3 children) I suspect this attitude of “read the fucken manuel” comes from when tooling was simpler and you could actually read all the manuals (or buy a book) to learn every small bit of it. Today, I’d be surprised if someone actually read all the Windows, .Net, and Powershell docs before attempting to write a small script. Heck, even simpler things like Python have massive docs beneath every layer of them. You don’t learn everything from the ground up anymore, only the relevant parts to your use case. permalink fedilink source parent hideshow 3 child comments replies: [–] sxan@midwest.social 4 points 1 year ago (2 children) I miss the days when every package came with a man page. Every respectable package; don't come at me, pendants. permalink fedilink source parent hideshow 2 child comments replies: [+] NostraDavid@programming.dev 3 points 1 year ago* (last edited 1 month ago) (1 child) [deleted] permalink fedilink source parent hideshow 1 child comment replies: [–] sxan@midwest.social 1 point 1 year ago No, not on porpoise. permalink fedilink source parent
[–] TeamAssimilation@infosec.pub 19 points 1 year ago (3 children) I suspect this attitude of “read the fucken manuel” comes from when tooling was simpler and you could actually read all the manuals (or buy a book) to learn every small bit of it. Today, I’d be surprised if someone actually read all the Windows, .Net, and Powershell docs before attempting to write a small script. Heck, even simpler things like Python have massive docs beneath every layer of them. You don’t learn everything from the ground up anymore, only the relevant parts to your use case. permalink fedilink source parent hideshow 3 child comments replies: [–] sxan@midwest.social 4 points 1 year ago (2 children) I miss the days when every package came with a man page. Every respectable package; don't come at me, pendants. permalink fedilink source parent hideshow 2 child comments replies: [+] NostraDavid@programming.dev 3 points 1 year ago* (last edited 1 month ago) (1 child) [deleted] permalink fedilink source parent hideshow 1 child comment replies: [–] sxan@midwest.social 1 point 1 year ago No, not on porpoise. permalink fedilink source parent
[–] sxan@midwest.social 4 points 1 year ago (2 children) I miss the days when every package came with a man page. Every respectable package; don't come at me, pendants. permalink fedilink source parent hideshow 2 child comments replies: [+] NostraDavid@programming.dev 3 points 1 year ago* (last edited 1 month ago) (1 child) [deleted] permalink fedilink source parent hideshow 1 child comment replies: [–] sxan@midwest.social 1 point 1 year ago No, not on porpoise. permalink fedilink source parent
[+] NostraDavid@programming.dev 3 points 1 year ago* (last edited 1 month ago) (1 child) [deleted] permalink fedilink source parent hideshow 1 child comment replies: [–] sxan@midwest.social 1 point 1 year ago No, not on porpoise. permalink fedilink source parent
[–] bitcrafter@programming.dev 21 points 1 year ago I cannot speak on behalf of the article author, but as someone who personally is an imbecile, the answer is: definitely! permalink fedilink source parent
[–] arcterus@piefed.blahaj.zone 21 points 1 year ago* (last edited 1 year ago) (10 children) I'm gonna be honest, I use NixOS, but the docs fucking suck, and a number of things are just broken in nixpkgs. For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options, which means some kernel patches won't work unless you manually supply the entire kernel config. EDIT: what's even more annoying about it not working is that it fails to apply silently. In other words, your kernel tries to compile and then an hour later it fails because your config changes weren't applied. permalink fedilink source parent hideshow 10 child comments replies: [–] Laser@feddit.org 3 points 1 year ago (7 children) For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options From reading, I thought this option was for adding options, not removing them. Sure, you might be able to set options to "no", but I don't think this will override the defaults... permalink fedilink source parent hideshow 7 child comments replies: [–] arcterus@piefed.blahaj.zone 7 points 1 year ago (6 children) You're supposed to be able to use lib.kernel.unset to unset them. In any case, that's just one problem. The main issue is the entire option is ignored because of a typo in nixpkgs. permalink fedilink source parent hideshow 6 child comments replies: [–] smiletolerantly@awful.systems 4 points 1 year ago (4 children) Would you mind opening a PR to fix that typo? Would be useful for others as well! permalink fedilink source parent hideshow 4 child comments replies: [–] arcterus@piefed.blahaj.zone 10 points 1 year ago* (last edited 1 year ago) (3 children) I'm planning to, I'm waiting for the kernel to finish building rn lol EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115). permalink fedilink source parent hideshow 3 child comments replies: [–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent [–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent [–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent [–] Laser@feddit.org 2 points 1 year ago I see, thanks permalink fedilink source parent [–] chonkyninja@lemmy.world 1 point 1 year ago (1 child) An hour? Are you on a pentium4? I’m building everything from source, daily, multiple times and the longest it takes is usually 1.5hours for a complete build of Gnome, Firefox, Nvidia+Kernel. And that’s only if I don’t update for like a month. But just a kernel build, that should only take a min or two. permalink fedilink source parent hideshow 1 child comment replies: [–] arcterus@piefed.blahaj.zone 4 points 1 year ago I'm building multiple patchsets on a laptop. How tf do you expect millions of lines of even somewhat optimized code to compile in a minute or two? The configuration by itself wastes like half of that, not to mention nix taking 2 minutes to evaluate because specializations are slow af. It in fact takes more like 2-3 hours for them to finish. permalink fedilink source parent
[–] Laser@feddit.org 3 points 1 year ago (7 children) For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options From reading, I thought this option was for adding options, not removing them. Sure, you might be able to set options to "no", but I don't think this will override the defaults... permalink fedilink source parent hideshow 7 child comments replies: [–] arcterus@piefed.blahaj.zone 7 points 1 year ago (6 children) You're supposed to be able to use lib.kernel.unset to unset them. In any case, that's just one problem. The main issue is the entire option is ignored because of a typo in nixpkgs. permalink fedilink source parent hideshow 6 child comments replies: [–] smiletolerantly@awful.systems 4 points 1 year ago (4 children) Would you mind opening a PR to fix that typo? Would be useful for others as well! permalink fedilink source parent hideshow 4 child comments replies: [–] arcterus@piefed.blahaj.zone 10 points 1 year ago* (last edited 1 year ago) (3 children) I'm planning to, I'm waiting for the kernel to finish building rn lol EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115). permalink fedilink source parent hideshow 3 child comments replies: [–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent [–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent [–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent [–] Laser@feddit.org 2 points 1 year ago I see, thanks permalink fedilink source parent
[–] arcterus@piefed.blahaj.zone 7 points 1 year ago (6 children) You're supposed to be able to use lib.kernel.unset to unset them. In any case, that's just one problem. The main issue is the entire option is ignored because of a typo in nixpkgs. permalink fedilink source parent hideshow 6 child comments replies: [–] smiletolerantly@awful.systems 4 points 1 year ago (4 children) Would you mind opening a PR to fix that typo? Would be useful for others as well! permalink fedilink source parent hideshow 4 child comments replies: [–] arcterus@piefed.blahaj.zone 10 points 1 year ago* (last edited 1 year ago) (3 children) I'm planning to, I'm waiting for the kernel to finish building rn lol EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115). permalink fedilink source parent hideshow 3 child comments replies: [–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent [–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent [–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent [–] Laser@feddit.org 2 points 1 year ago I see, thanks permalink fedilink source parent
[–] smiletolerantly@awful.systems 4 points 1 year ago (4 children) Would you mind opening a PR to fix that typo? Would be useful for others as well! permalink fedilink source parent hideshow 4 child comments replies: [–] arcterus@piefed.blahaj.zone 10 points 1 year ago* (last edited 1 year ago) (3 children) I'm planning to, I'm waiting for the kernel to finish building rn lol EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115). permalink fedilink source parent hideshow 3 child comments replies: [–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent [–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent [–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent
[–] arcterus@piefed.blahaj.zone 10 points 1 year ago* (last edited 1 year ago) (3 children) I'm planning to, I'm waiting for the kernel to finish building rn lol EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115). permalink fedilink source parent hideshow 3 child comments replies: [–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent [–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent [–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent
[–] ikidd@lemmy.world 3 points 1 year ago K900 Commented 5 hours ago Ooof. lol permalink fedilink source parent
[–] smiletolerantly@awful.systems 2 points 1 year ago Haha, perfect 😄 permalink fedilink source parent
[–] ruffsl@programming.dev 2 points 1 year ago Thank you for your work! I would not have liked encountering this bug in the wild. permalink fedilink source parent
[–] chonkyninja@lemmy.world 1 point 1 year ago (1 child) An hour? Are you on a pentium4? I’m building everything from source, daily, multiple times and the longest it takes is usually 1.5hours for a complete build of Gnome, Firefox, Nvidia+Kernel. And that’s only if I don’t update for like a month. But just a kernel build, that should only take a min or two. permalink fedilink source parent hideshow 1 child comment replies: [–] arcterus@piefed.blahaj.zone 4 points 1 year ago I'm building multiple patchsets on a laptop. How tf do you expect millions of lines of even somewhat optimized code to compile in a minute or two? The configuration by itself wastes like half of that, not to mention nix taking 2 minutes to evaluate because specializations are slow af. It in fact takes more like 2-3 hours for them to finish. permalink fedilink source parent
[–] arcterus@piefed.blahaj.zone 4 points 1 year ago I'm building multiple patchsets on a laptop. How tf do you expect millions of lines of even somewhat optimized code to compile in a minute or two? The configuration by itself wastes like half of that, not to mention nix taking 2 minutes to evaluate because specializations are slow af. It in fact takes more like 2-3 hours for them to finish. permalink fedilink source parent