(kinda off-topic, on the software side)
Hi Michael! Have you evaluated NixOS?
I’m especially interested in knowing your opinion since
1- you do embedded dev
2- you have researched on a package manager and maintained debian packages for some time
3- I remember reading one of your blog posts in which you explained your machines. Maybe nix tools may help keeping your various machines and file servers in sync? (I think you were using rsync)
4- (and we’re thankful for i3wm 😄)
I briefly used NixOS on one machine for about half a year or so, but then switched away because it was too tedious to properly package up each piece of software I needed to run (or even just run it in nix-shell).
These days, more software is already packaged, the community is larger, and there are a bunch more tools, so I should probably take another look at some point. I probably would also not use NixOS for anything interactive, but strictly for servers.
That said, I’m trying to use my own https://gokrazy.org/ for more of my serving workloads than before :)
I’m using rsync to transfer data, not config files :)
Edit: I should add that I found the nix command line experience confusing / not intuitive at all (e.g. “nix-env -iA”, ugh), and even more so their functional language for describing packages. I wish they had a more approachable format.
Thanks for answering
Nix folks are re-implementing the nix tooling and there is also an experimental feature called Flakes that can pin the version of dependencies and address some Nix issues. For configuration, it seems Nikel could be an option in the future.
Another über-cliché question 😅 : In your Github page, I see lots of your projects are written in Go, even low-level hw stuff (like IoT, router, RPi), where one thinks Rust could have been a better(?) option. Is it just a matter of preference or maybe you have a stance on this Go-vs-Rust debate?
Looking forward to when the new nix tooling is the default!
You can find more details about why I like Go in https://michael.stapelberg.ch/posts/2017-08-19-golang_favorite/
Rust never clicked with me when I tried it, thus far.