Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Status #86

Open
Misterio77 opened this issue Sep 7, 2024 · 3 comments
Open

Project Status #86

Misterio77 opened this issue Sep 7, 2024 · 3 comments

Comments

@Misterio77
Copy link
Owner

Misterio77 commented Sep 7, 2024

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:

  • This needs to be updated for NixOS 24.05 and 24.11 (current unstable). It's not complicated code by any means, but people will rely on it.This repo is passed around a lot, so I must be very very careful to get things right.
    • People WILL get stuck at some point, and they will go to the community for help. It is my responsability to make (and keep!) the templates "compatible" with the NixOS and HM manuals, to easen support burden. No trickery!
  • I need to make more variants to make the templates simpler.
    • I was initially hoping to make a config that works with: nixos+hm (as a nixos module); nixos+hm (standalone), nixos only, hm only. I personally like to use hm as a nixos module, but also like exposing hm standalone; that's not super intuitive for people new to nix.
  • I need to clearly state this repo's scope, and link to proper documentation.

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

@Misterio77 Misterio77 pinned this issue Sep 7, 2024
@jmacdonald
Copy link

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
Copy link

coopbri commented Oct 31, 2024

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants