top | item 28321010

(no title)

lightbulbjim | 4 years ago

I wholeheartedly agree, and I am a giant NixOS fan, BUT:

1. You need space for the Nix store, so it's not appropriate for every system (I like building small embedded appliances).

2. A six month release cycle can get a bit tiresome after a while. I know it's personal preference, but I wish it was a bit longer.

3. Or, in order to contribute to the project, you need to chase the dragon with the unstable channel.

4. Forcing all the system state through the funnel of a single config file is great, except that it doesn't cover home directories. I found that I ended up with a massive unmanaged blob of state in my home directory which I couldn't capture (I never tried out home-manager, maybe I should have).

This is not to detract from NixOS! NixOS is great, and I remain a massive fan :-). But on my personal systems I find myself using macOS and Debian these days. ¯\_(ツ)_/¯

EDIT: Line spacing

discuss

order

stelcodes|4 years ago

Valid points. I definitely wouldn’t use NixOS on embedded. About contributing, You don’t really need to be on the unstable channel completely. I use a mix of stable and unstable packages. It’s not hard to do but it’s also not super intuitive either. And about home directories, I don’t use Home Manager either. I find that it introduced too much complexity and I don’t actually like it all that much. What I do is globally install all my packages and put configuration files in /etc. if the programs don’t have an /etc location to look for, I just create a symlink to config file in my home directory. That way all my config files are in my nixos-config repo.

I want to write a blog post about my way of setting up NixOS. There are many ways to go about it and I feel like mine prioritizes simplicity and doesn’t use complex Nix techniques, so it may be very helpful for beginners.

pmahoney|4 years ago

For 1., it's possible (easy even? I've never tried this in a cross-compiling situation) to build packages on one system and push them to another via SSH.

I suppose an upgrade would still result in two copies of everything, at least temporarily, but at least the target system doesn't need source code, compilers, etc.

https://nixos.org/manual/nix/unstable/command-ref/nix-copy-c...