• 0 Posts
  • 1 Comment
Joined 4 months ago
cake
Cake day: June 1st, 2024

help-circle
  • Hello! Made a Lemmy account to comment on this, I’ve been a long time lurker. As someone who also went into Nix blind, its always gonna be a hard time a first, its a super different paradigm then anything else out there. Few recommendations,

    1. Use flakes, nix channel is legacy and is imperative meaning nix channel changes won’t be copied per system
    2. Try to purify everything, you may not succeed but if you try to nixify everything then you’ll get a much better understanding of the underlying systems of nix and of course your is.
    3. Fuck the wiki read the code and other peoples configs. The wiki and the docs have largely been misleading and the nixpkgs code is usually super easy to read, the source is also linked to on search.nixos.org
    4. Use home manager early. Working with NixOS gets better at a rate exponential to the amount NixOS has control over and your home environment is a huge part of that.
    5. Learn modules, all of nixpkgs is made of modules and your system should be as well, if you throw everything into one file you’ll have a really hard time generalizing later on, check out vimjoyers channel for this seriously he’s great.
    6. Understand that Nix, NixOS and NixLang all are huge upfront investments of time for a time save later on, its absolutely worth it in my opinion but you need to be aware its gonna be very difficult and you should focus on putting your energy towards the parts most important to you. If you have multiple systems you want nix to seamlessly deploy on focus on system relationships like roles, users, flake parts, etc.

    And full disclosure once you get over the learning curve it gets easier to write and understand nix, but you realize you did everything poorly and you’ll restart.