4 ms·
Entire OS configured with code, which can be modular with imports and functions. Want to run a Postgres server? One-liner in your config. Want to advertise your
by whateveracct 4y ago
Entire OS configured with code, which can be modular with imports and functions. Want to run a Postgres server? One-liner in your config. Want to advertise yourself over avahi? Same deal. Need custom udev rules? One-liner again.
I literally cannot bork my machine. I can always roll back. Useful when messing with low-level stuff like drivers.
I have full control and understanding of updates and the exact versions of all the programs I run. I can always read the source of any program I'm running by looking in the nix store.
Super easy to package new programs and contribute to nixpkgs.
Super easy to tweak packaging other provided without forking via overlays.
I share config across devices in a git repo, so provisioning a new machine is trivial. I got a desktop and I basically imported a bunch of common config along with like 10 lines of config specific to the desktop.
- sgarland 4y ago> I literally cannot bork my machine. I can always roll back. So use a templated VM, or a filesystem with easy snapshotting like ZFS or BTRFS. The former also allows for easy provisioning of new machines, and doesn't lock you down to a single OS.
- whateveracct 4y agoI never said NixOS uniquely solves that. And that doesn't have all the other benefits. Also it's a worse way to handle state and rollbacks. Sledgehammer for a thumbtack. I already spent the time to learn the hard stuff. So now my life is made easy by NixOS. Same idea behind learning Haskell. Huge personal gains.
- colordrops 4y agoI'd say it's more like vim. Steep initial learning curve for a few months then it becomes pretty easy and indespensible. Perhaps Haskell is like this but I never got past the curve.
- colordrops 4y agoAre templated VMs contained within a few kilobytes of config files? Can anything in the entire system be included or excluding by tweaking these text files? Can it be used as a desktop on bare metal? ZFS and BTRFS are orthogonal and often used in conjunction with Nix.
- sgarland 4y agoThis is what I love about NixOS users - how belligerently defensive y'all get immediately when someone pokes at your project. > Are templated VMs contained within a few kilobytes of confif [sic] files? Not kilobytes, but Proxmox supports sparse images so pretty small. More importantly, disk space is cheap as hell, and I value my time way more than a couple of hundred megs of space. > Can anything in the entire system be included or excluding by tweaking these text files? Personally I template my images with Ansible, so yes in fact anything can be included or excluded with a text file. > Can it be used as a desktop on bare metal? Who cares? The performance hit from a modern Type 1 hypervisor is so small as to only matter if you're also the kind of person who is tweaking obscure CFLAGS for emerge, which is to say it doesn't matter. > ZFS and BTRFS are orthogonal Only in that they aren't an OS, obviously, but they perform the same function (rollback) that you mentioned as a positive point for NixOS.
- whateveracct 4y ago> Who cares? The performance hit from a modern Type 1 hypervisor is so small as to only matter if you're also the kind of person who is tweaking obscure CFLAGS for emerge, which is to say it doesn't matter. I want to use it as my personal computer...using a VM seems even more fringe and niche than NixOS there lol. And for a home network, VM also seems overkill. I suppose there are also network effects at play. If you use NixOS for a laptop and desktop, suddenly using it for home infra is actually more economical than using other tools.
- whateveracct 4y agoThis person's main argument is that because Ansible can be used to accomplish some of the benefits (for some definition of accomplish) of NixOS, that NixOS isn't doing anything special or differentiating. I also get a sense they are for some reason solely focused on cattle server use-cases. I'd say the OP (home infra) is in between your production servers and your PC.
- Gordonjcp 4y ago> I literally cannot bork my machine. I literally cannot be paid to care about borking my machine. It takes ten minutes to reinstall. For stuff that cannot conveniently be installed locally (hello multiple versions of DaVinci Resolve) or ideally want to be ephemeral (hello basically all the development environments I use), I've got Docker.