Snork, yet another NixOS configuration framework nobody asked for

Hello. I’ve decided to generalise the work put on my NixOS config and put it out there. I never liked what was out there because they were either redundant or were too complex and got in your way. To cut it short, they sucked, at least for me they did.

This framework is designed to be easy to use. You can get started with the quick-start template which can be downloaded by running:

nix flake init -t github:hustlerone/snork#quick-start

and dropping your configuration.nix & friends inside ./systems/${YOUR_HOSTNAME}. Files inside that folder are loaded like a traditional NixOS config would be, more or less.

In terms of features, it allows you to:

  • Patch nixpkgs with a git patch file (pretty useful if you want to test a PR)
  • Drag and drop system modules and have them all automatically imported
  • Group modules into profiles and choose which systems inherit what profiles

Naturally, you can also pass specialArgs through. Full documentation on the GitHub repo. I may improve it since I still think it could be better.

Be warned that due to a limitation with flakes, unfortunately, the builder is assumed to be x86_64-linux when patching nixpkgs. If your platform differs from the hardcoded one, prepare for unforseen consequences.

So, here’s my offer:

If it’s good enough for me, it might be good enough for you.

5 Likes

presuming you’re using this yourself, maybe this could benefit from linking such a ‘sample config’ there? while i see an example folder in the project, what’s in there does not seem to really make proper use of the directory structure advertised in the readme.

2 Likes

It’s a very simple example config and I’m not sure if I actually ended up writing a README.md entry stating that it’s not really representative of its features.

Yes, I actually use this myself. I could do a more complete example right now.

Yes somehow I messed up templates/quick-start/README.md

ok done i added a real world example.

you can check it in GitHub - hustlerone/Snork: NixOS configuration framework that doesn't suck.

3 Likes