plot twist: under the hoodie they’re absolutely jacked
The weakest Debian using greybeard :
OldBeardyGuyAtAnvil.jpg
Mhm debian users are, indeed, dwarves
Arch is 2022. NixOs is where it’s at now
Tried to switch, but a couple of pieces of software did not function correctly on nix, and i work a ton in python and i couldn’t get anything to work there, issues with missing system libraries and so on i think, i ran out of free time for tinkering and had to switch back
I use arch btw
It’s usually pretty straight forward to get python things to work once you know how, but yeah, you can still hit edgecases with poorly structured dependencies. Even in simple cases, having to package things as an end user can be a tough barrier. Personally, I find the pain to be well worth what nix offers me, but I know that it’s just not a good fit for the vast majority of people.
Is it? Every time nixpkgs changes the python minor version all of my virtualenvs break, which is a pain. I guess I need to look into dev shell or something.
Yes you need to use a shell to make it reproducible in the nix sense; a regular venv will try to point to the nix store or lose libraries (or try to dynamic-link stuff) when your system env changes which is why you need it to be independent of it.
I don’t bother with venvs in my own projects because nix kind of subsumes its purpose, but it’s possible to work with them still.
Something that might help: devenv. I haven’t used this personally but the UX looks like an upgrade. (I just use flakes with dev shells defined inline long-form)
This video came across my feed last night, and might give you a rough idea: https://youtu.be/jldArhyi6jM&t=581
I don’t think there’s anything wrong with installing homebrew into your NixOS system if that heroes you get stuff done
Without the standard file hierarchy (which can be enabled), most executables straight up wouldn’t work. The linker and standard library .so files aren’t where they’re expected to be.
Yeah, nixos btw is a big commitment that works only if you have enough time and/or you highly value what it provides. Though if you have lots of time to get past the learning curve and get things going the maintenance becomes much less of an issue later on which is nice.
I came from Debian and Arch and was pleasantly surprised at how easy to set up and run NixOS is. I’ve been using it on my personal laptop for months now without any major issues.
It’s interesting to see how some people switch with ease and some struggle with it a lot. Haha
Don’t get used to it, it’s maintained by sloppers so it’s only a matter of time before it breaks again.
It sounds like it’s work for the sake of work.
Anybody I ask about the benefits of nix can’t really say anything apart from reproducibility and quickly spinning up your system again if you need to.
Those things aren’t really problems that need solving, in my opinion. They already have goods solutions. Especially ones that are simpler than nix 😅
I use Arch btw.
For me I like iterating on my home lab so it’s nice knowing I 100% did not forget that I left some port open or service running, it’s all nicely defined in a configuration module I set up.
There’s a low chance I’m going to reuse my configs, but it’s nice I have the option.
Probably the biggest value is it’s all written down nicely in a structured and documented system instead of my old sub folders of just/makefiles and bash scripts and’s inlined configuration.
Then there’s also nice stuff: my config also defines a dashboard for checking the status of my services (when I add a new service, it regenerates as the service is added automatically), I can see which users I created to run in containers, i can experiment with a new desktop environment and just comment out a block to go back.
Documented declarative centralized configuration of all my systems; that value can’t be overstated.
Then the fact that I can run any version of any nix package from anywhere at any time with a single terminal command,
the ability to effortlessly and cleanly switch desktop environments with completely no friction or fear,
to be able to roll back by booting into any previous configuration still on disk, or entirely rebuild any older configuration I’ve tracked in git,
Painless and fearless updates with a rolling release, very little chance of borking and I can never get out of step; doesn’t matter if I update once an hour or once a year,
I can share my settings with friends e.g. they can try out my MPV config with a single nix command, or consume my flake outputs and add it to their system with merge/overriding changes,
I can clearly version system dependencies for everything that needs them without shipping containers,
I can define development shell environments which is basically like python venvs with requires profiles but for every language,
I can remotely provision a machine, including disk partitioning and luks and initrd ssh, with a single command,
There’s a plethora of modules that make setting up complex services with sensible defaults as simple as “enable = true;”,
… I could probably go on for a while but yeah
I guess it’s all down to use cases, eh. I have no use for most of that, so using nix makes no sense for me.
And the things that I do do/use in that list, it’s just as easy to do without nix, if not easier, such as changing the desktop environment/compositor e.g. Just edit my login shell’s config file on a single line, usually. Stuff like that. 👍 No need to learn a whole ass language for that, or learn a new domain language. I like to keep it simple when I can.
-
I like having the same system configuration across machines and be sure that everything is the same.
-
I like having all configuration in one place and have comments near the relevant code for extra clarity.
-
Nixos makes setting up root on ZFS a breeze.
-
System as nix configuration makes it very easy to track changes with version control and informative commits.
-
If I fuck up the system I can easily boot into older generation.
-
System can rebuild only if everything (with proper checks) succeeds giving you a greater confidence in things working.
-
System reinstals are quick and easy so on hardware failure you can go back to work very quickly without having go spend days and weeks getting your system so vagualy similar state as before.
-
Nixos made it easy for me to set up mirrored boot so my system will still work fine when one of my boot drives fails.
-
I get to know what is actually installed on my devices and can easily get rid of it.
-
No dependency hell.
-
I can easily try out a program before installing it permanently with nix shell.
-
Impermanence helps me ensure that every folder and file that I need to keep is documented and keeps them in one place for very easy backups and I have 100% confidence at my backups have everything important.
And many other bigger and smaller things that I can’t remember right now. I’d honestly be interested in solutions simpler than nix providing the same or greater benefits with more simplicity.
E: Also, because my original comment wasn’t well worded I will mention that I meant that once you learn how to work with nixos things become easier and once you get the setup going it’s just there continuing to work since the effort is paid in advance and you continue getting the benefits just like that.
-
It’s maintained by sloppers, idk why anybody would want to switch to that.
humanConfiguration."user".gender = { female.enable = true; male.enable = lib.mkForce false; };humanConfiguration."user".gender = { enable = false; #female.enable = true; #male.enable = lib.mkForce false; };{ lib, options, ... }: let names = lib.filter (name: lib.hasAttrByPath [ name "enable" ] options.gender) (lib.attrNames options.gender); in { config.gender = lib.genAttrs names (_: { enable = true; }); }That way I know my configuration will always be comprehensive even when nixpkgs releases a new gender
Do NOT promote or use NixOS. They maintainers are Sloppers.
Kinda true tho ಠ_ಠ
Nah, NixOS is maintained by sloppers. A balding fat pale as the moon fan of Elon Musk would be a better representation, classic middle aged slopper.








