Misterio77 / nix-starter-configs

Simple and documented config templates to help you get started with NixOS + home-manager + flakes. All the boilerplate you need!
Creative Commons Zero v1.0 Universal
2.7k stars 133 forks source link

Project Status #86

Open Misterio77 opened 2 months ago

Misterio77 commented 2 months ago

Hi folks!

Sorry for the radio silence. Life's been really really busy these past 1-2 years (I'm working fulltime and doing a master's simultaneously), and I've really been neglecting my OSS projects because of that. You might see me occasionally opening simple PRs or sometimes replying on discourse threads, but that's pretty much what I can muster energy for; even looking at my project backlog is a LOT harder. I'm truly sorry for anyone that was impacted by this inactivity, specially so for those that donated their time and energy into making contributions.

This is by far my project with the widest reach, but also the most unexpectedly so; it was basically a gist to share a sane config with my university friends I was indocrinating with nix at the time.

Things were really really different back then: nix 2.4 wasn't released, flakes were (even more) experimental, there was a lot of wizardry required for (what I saw as) a sane configuration, and I thought having a nix-config+shareable pkgs/modules in the same repo was something most people wanted to do. Things are much simpler now, I've learned a lot (e.g. no-one's probably adding someone else's config as an input to use their packages), and, most importantly, I've seen a LOT of damage being caused by these (specially older versions of the standard variant) templates.

My initial templates were very opinionated (and it made sense at the time), but that was a bad call for a project that got this popular. As an example of a major footgun that probably got me some (well deserved) bad reputation: https://discourse.nixos.org/t/allowunfree-doesnt-work-with-flake-managed-system/21798/1


I plan on honoring the trust the community has put on these templates, and this repo will get updated as soon as I can, and I will try and make it live up to everyone's expectations of it. I'm very thankful to everyone opening PRs (and sorry for not responding timely), and I'm open to new ones; just please keep in mind that reviewing takes a lot of energy and that contributions might be tricky to do right at this time (as there's a considerable refactor coming soon). Do feel free to donate your energy on more worthwhile projects, even forks are very welcome!

Some work that come to mind:

As a closing note, I think it's worth letting this awesome community know that any rough edges/trickery the templates have were definitively not intentional (they were supposed to be opinionated at some point, but this quickly changed with the explosive popularity growth). I also want to make it clear that this repo was never intended to become the template, it was just (unexpected) organic growth, but now that it's big, I have a responsability to get it right. As the upstream docs get better and things get easier, these templates should (and will) get simpler and simpler, until they're just not really needed anymore (maybe when the quality's okay, this could be moved over to nix-community, for example).

Thanks so much for everyone that dedicated some energy to this project (or one of my other projects), and I'm truly sorry to keep you folks hanging. I promise I haven't forgotten about you, and that I will definitively get back and fix things up, I just need life to cut me some slack so I can catch up with my passions again.

With love, Gabriel

jmacdonald commented 4 weeks ago

These templates were instrumental for me when moving beyond the initial config provided by the NixOS installer. My setup looks somewhat different today, but these allowed me to get started with a modular configuration without having to understand everything up-front, and instead progressively own/change the configuration as my needs evolved and my understanding of Nix deepened.

While I'm sure there are improvements you can make, the fact that this project has drifted away from evolving best practices shouldn't detract from the great value it has provided to the community. While I would welcome updates to close that gap, more than anything else, thank you for creating these configs in the first place. I have grown to love Nix[OS], and that may not have happened without this fantastic resource. ❤️

coopbri commented 4 weeks ago

This clear communication and @jmacdonald's response above are why I love open source. What a healthy community, love to see it.

Cheers for the awesome, decentralized communication guys. This project too helped me so much getting bearings with Nix(OS), and @Misterio77 I echo Jordan's sentiment above. Life happens man, best of luck in your master's program!

traverseda commented 2 weeks ago

It's going to be challenging for people to update the templates, it will probably need to be done by hand.

I see the advantages of keeping things simple, but have you looked at tools like copier? We've been using copier at work to some success. The big advantage of it is that you can update quite smoothly, and it will use git's plumbing to make nice git commits applying updated templates. Even if you move stuff around or modify the template it allows pretty smooth updates.