this post was submitted on 17 Jun 2023
11 points (100.0% liked)

Linux

48323 readers
712 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hey all, I'm wondering about giving NixOS a try. It seems like it's mostly marketed for development environments and CI, but I haven't seen much of anything about it being used on production servers. Right now I manage Alma 8 servers with Salt, and bootstrap Salt with a modified version of the ISO. NixOS seems like it could help streamline how I do things. Does anyone use it and have thoughts one way or another?

you are viewing a single comment's thread
view the rest of the comments
[–] 2xsaiko@discuss.tchncs.de 2 points 1 year ago

Thank you, that means a lot to me! And of course, good luck and I hope you'll like it.

...One of these days I'm going to write a first time users oriented guide for NixOS I can point people to that actually goes through everything I think is important to know but for now I'll just link you to these:

  • Writing NixOS Modules from the NixOS manual, I think understanding how these work (your configuration file, /etc/nixos/configuration.nix, is a module) is very important for knowing what is going on and how to add to/structure your configuration effectively
  • Nix Pills, the very basics of the Nix language and how nixpkgs packages are built; this one helped me a lot personally because this is what everything is built upon and eventually you will come into contact with these concepts
  • the unofficial NixOS Wiki
  • How Nix works, which goes a bit into how the package management side of Nix works

And last, my own configuration. It's gotten pretty big at this point with ~8k lines, containing configuration for various machines, shared configuration, new service definitions, new packages and so on. I honestly don't expect it to be useful to you but it might give an idea of how one of these might look and what is possible. In the turris branch I'm currently setting up NixOS on a new machine, my router. (At some point I also need to document what is going on in that repository, especially the configuration loader.)

It's also a Flake-based configuration which is the new "experimental" (read: not yet marked stable but unlikely to change significantly at this point and has been this way for years) way of doing things, I heavily encourage you to look into Flakes at some point because they are a big improvement in especially how inputs such as the nixpkgs version used for your system is tracked (it works similar to lock files from NPM or similar package managers), vs. the old channels.