moved to @neoney@lemmy.neoney.dev

neoney.dev

PGP 0x1261173A01E10298

  • 2 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle









  • For me, NixOS is like someone took the archwiki and made a distro with it. I can just do

    services.lemmy = {
      enable = true;
      settings = {
        hostname = "lemmy.union.rocks";
        database.createLocally = true;
      };
      caddy.enable = true;
    }
    

    in my system config (example from Nix manual). It will install lemmy, install caddy, start lemmy backend on port 8536, frontend on 1234, expose it with a caddy reverse proxy to that hostname, and initialize a postgres database. This is also reproducible across systems, so it’s pretty much guaranteed to work the same on one PC and on another.

    This is very useful, because some programs require some more configuration, and this can remove the need to know where to put their config files, their package names, systemd service names from your head. It’s all in there.

    Also, when I fuck something up… when changing the config, it makes a new boot entry with it, so when booting I can just press arrow down when booting to select an older, working config. Magic.

    Packages are also nicely separated from each other. I don’t have to install stuff globally, when I need a program one time I can just do nix shell nixpkgs#audacity and have an ephemeral shell with the package installed.

    There are (optiona) binary caches, so you practically don’t have to compile anything from source when updating your system.

    I have all my configuration on GitHub, like a lot of people, which makes it easy to share information.

    A con is that when a program hasn’t been packaged for NixOS (whether it’s in nixpkgs or has a flake.nix in the repo), it’s not that easy to use it, so learning to write derivations (packages) for NixOS is pretty much a must have.

    Also another must have is being in some community that uses NixOS, because it is really hard to learn without someone to help and guide you IMO.

    Worth it though