• Laser@feddit.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 days ago

    The issue I see with your approach is that you’re looking for a tutorial for something that is basically infinitely flexible, there’s multiple ways to do things, etc.

    By installing NixOS, you have already completed the tutorial. My advice is: Approach your configuration (which is actually code) like a static one first. That is set the values you want, maybe split up files a bit, keep it simple. At one point, you’ll get somewhere where you think that there has to be a better way to do it than just write down everything explicitly. Then, approach problem per problem. At least that’s how I did it.

    Dunno if that’s the best way to do it, if you want to start managing a server farm right now that approach won’t scale of course. The issue with configurations you find online is that they’re rather complex – which makes sense for the cases these people have written them for. But for one or two machines, you don’t need to fold attributes / generate attributes from list etc. right away. If you’re not in a rush, get a feel for everything on a low level first, and then approach the deeper mechanics.

    • balsoft@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 days ago

      The issue I see with your approach is that you’re looking for a tutorial for something that is basically infinitely flexible, there’s multiple ways to do things, etc.

      I don’t think this is the right approach either TBH. Even general-purpose programming languages often have “tutorials” to guide you through the basics of writing your first couple of programs, explaining all the steps without showering you with too much details about internals. Think Rust By Example or Real World Haskell. I feel like NixOS urgently needs something like this - a half-dozen (relatively) simple configuration examples, from the shortest one possible that gives you the minimal useable system, all the way to a flake-based setup that configures multiple machines, both headless and GUI-enabled, with appropriate code reuse. Don’t get me wrong, those resources are there if you look for them, someone just has to compile them and get them into official docs.