Hacker News new | ask | show | jobs
by SushiHippie 763 days ago
What sold NixOS for me were setting up servers, and I would also recommend people to set up their *servers* with.

It was when I watched someone transfer their server to another disk. It was literally one command to set up everything like it was, with bootloader, all services, ssh keys, user accounts, .... Then reboot, logging in via ssh, set an account password and that's it.

I also started using it on my workstation, but as you mentioned it is a long and tiresome process to convert my current set up to Nix and have everything work.

And another thing that really annoys me is the added time when you want to iterate quickly on a configuration file (e.g. when setting up a new program), as there is always the build process in between and looking up how to use that specific nixos module, and most of the time I need to look at the source code of the nix module to perfectly understand how to use a specific config option. So in the end I need to read the official documentation for that program, then the nix documentian and/or the nixos module definition. I have a powerful machine, but it still takes 20-40 seconds for a one line change, which would normally be 2-3s (editing the config + restarting a service)

1 comments

> I have a powerful machine, but it still takes 20-40 seconds for a one line change, which would normally be 2-3s (editing the config + restarting a service)

A bit late reply, but by default Nix runs on single core. Have you made it use multi-core and max-jobs?

Okay I looked it up, and the default is max-jobs=auto (uses # of logical cores) and cores=0 (each job can use all threads), so if I have a machine with 16 cores and 32 threads, it may run 32 jobs at the same time, where each job is allowed to use 32 threads.

See:

https://search.nixos.org/options?channel=unstable&show=nix.s...

https://search.nixos.org/options?channel=unstable&show=nix.s...

and

https://nixos.org/manual/nix/stable/advanced-topics/cores-vs...

Thanks for the heads-up, will look into this, I think I tried something with this but didn't see much better performance, but has been a while since I tried that.