• 0 Posts
  • 6 Comments
Joined 2 years ago
cake
Cake day: June 13th, 2023

help-circle



  • Wyrryel@pawb.socialtoLinux@lemmy.mlNixOS musings
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Hey, sorry for the late reply. I found the blog by xiaoso quite good, and this one also isn’t too bad. But I never found one true source which explained it satisfactorily to me. It’s probably best if you just browse through other people’s configuration and piece it all together from that. From what I understood, flakes have 3 main uses:

    1. They replace nix channels. If you want to switch between stable and unstable it’s pretty easy to do through flakes. Also, if you need any modules (like home manager or agenix, for encrypting secrets) you can simply import it as an import for your flake.
    2. You can “modularize” your configuration. You can describe multiple systems in a single flake so you can have your desktop and laptop be built from the same flake, but with different packages installed. This is the part that I use most and honestly find most useful.
    3. You can quickly have a development environemnt through flakes. You could use a flake per project, have all your dependencies as inputs in your dev flakes and never clutter your system with various dev tools

    Nixos is riddled with stuff that you just “have to know” which can be quite frustrating. The lon ger you stick with it, the easier it gets though.


  • The main problem with NixOS right now is, in my opinion, the scattered documentation. You often can’t understand a topic without cross-referencing the manual, nixos wiki, nixos search (and nixpkgs and some scattered personal blogs if you’re really unlucky). But if you stick around and adapt to this it’s very easy to do stuff that takes a lot of effort on other distros with a few lines in your config.