I’d been hearing a lot about NixOS so I did a VM install. It wanted me to setup my own partitions manually without even giving preset sane defaults like I was back in 1994 installing Slackware.
Nope. My OS is a tool, not a lifestyle.
I need to compile my kernel… by hand with tools from beige-age computing.
it wanted me to setup my own partitions manually
You’ve obviously never used nix, it’s GUI installer can auto configure just fine.
When your OS AND apps are declared and stateful a lot of risk and complexity is removed. Configuring is just a bad experience with poor usability and worse documentation.
Yes. And I feel sad because I haven’t been excited on any other OS for years after learning NixOS. I used to be excited about playing with things like FreeBSD, but now they all feel like something’s missing…
Not for everybody, but as a software engineer nix/nixos is blessing.
Its especially annoying for me because i wanna go back to something that “just works” but i miss the nix features. I like declaring my system but managing packages declaratively is just such a pain. I just wanna do apt-get install package its just easier i dont want to rebuild my whole ass system. Something i found that may work is using nix for the system and then distrobox for packages. Yall think thats something that would work well?
Separate your system and user lists. Use home-manager for example for your user packages. I think separating those configs is the official recommendation.
As for the rest, I’m using nix on MX because of declarative package management. Screw going back to imperative and having to remember what packages to install. If it’s something I use often it goes on a list, if I don’t nix shell
comes to the rescue.
I’d rather mess around with dev envs for nix than distrobox.
NixOS is cool, the whole Linux configuration in one file is convenient but I already found my home and comfort place that’s Arch btw don’t think I switch to other distro anytime soon
Just to clarify, I wouldn’t recommend putting everything in a single file, but rather modularize the configuration.
I also came from Arch, but have since abandoned it, and I don’t think I want to use distributions for myself that use the the classic imperative concept. One you get a better understanding of it, it makes so much more sense.
As someone who has never tried Linux, this meme has done more to make me want to give it a try than anything else Linux users have thrown at me so far. The fox is very convincing. I might step into the back of an unmarked van if it asked me to.
NixOS is probably a bit more confusing than most Linux distros, but it has a huge amount of advantages too. It has very up to date software and probably never has dependency issues.
That’s par for the course for me. I’m the type that’ll start a video game on the hardest difficulty for a challenge and then my pride won’t let me lower the difficulty so I just quit under the guise of disliking it.
Then you probably shouldn’t use Nix. Maybe try another distro if you haven’t already.
Foxes are like that though.
They look cute and cuddly… The trustworthy kind, then they bite your hand off and laugh at you.
Don’t listen to him! Just start using Nix to manage dependencies and dev environments for your projects but keep your OS the same until you are really good at Nix
How does that work? Let’s say I’m on pop os developing a thing, how would I manage deps and dev envs with nix then? In a VM or what?
I’m a Linux nerd, but I totally don’t get nix. Tried to install some nix package manager on my Debian based distro and it was completely broken (the nix thing, not my os)
I um… didn’t get started yet. But a colleague demoed it to my and it’s kind of between virtual environments and containers, if you’re familiar with Python.
You write a Nix config and specify exactly which versions of which package you want to have. Reproducibility is the main selling point of Nix. Things don’t just break overnight because a dependency of a dependency of a dependency got upgraded. You can always go back to exactly what it was like before. Guaranteed. That’s pretty cool.
Ok so you got that config, then you build and activate it, and it replaces your shell. You enter the Nix shell. You still have access to all your files and directories, but your Nix config controls exactly which versions of your tools you have. gcc, npm, python, maven, whatever you use.
You can see why this makes people want to build an immutable OS.
The main drawback of Nix is that it has a bit of a learning curve. Hence why I haven’t started yet. Maybe it’s time though.