this post was submitted on 25 Dec 2023
100 points (97.2% liked)

Linux

48053 readers
701 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
 

Heya, been hearing about NixOS for a long time now, mostly from the peeps over at the Linux Unplugged podcast. So was thinking about jumping onto the nix-train, however it seems like it has a learning curve. Does anyone have any good learning resources, blog-posts, guides, whatever beans that you used to get started with NixOS?

Appreciate any tips ❄️

all 16 comments
sorted by: hot top controversial new old
[–] [email protected] 29 points 10 months ago* (last edited 10 months ago) (1 children)

Im on my own NixOS journey right now, so i cant fully vouch for all this yet. Here are my bookmarks for Nix/NixOS learning resources:

Apart from all this, ive learned the most from a mix of looking at other people's configurations and reading source code. The documentation is super messy, especially if you want to make use of flakes (which i personally recommend from the get go).

[–] [email protected] 2 points 10 months ago

+1 for these! I’d also add https://nixos.asia/en

[–] [email protected] 16 points 10 months ago (1 children)

NixOS docs themselves are a tad lax, but it will get better.

Learning nix itself is also important:

https://zero-to-nix.com/

Just this morning I was having issues with a wacky dual-boot install with NixOS and Windows sharing an EFI partition, and quite interestingly ChatGPT and I were able to troubleshoot the process and get it resolved in under half and hour. I was really impressed by the specific configurations it was giving me for my /etc/nixos/configuration.nix , so that is also another resource you may consider leaning on when you run into walls in other documentation sources.

[–] [email protected] 4 points 10 months ago

Thanks for the tip, and nice to hear about your experience too 👍

[–] [email protected] 14 points 10 months ago (1 children)

This is also a pretty good one: https://nixos-and-flakes.thiscute.world/ just ignore the domain name, the guy is explaining stuff very well.

[–] [email protected] 7 points 10 months ago (1 children)

I learned a ton from this, it's kind of "The Book" I guess. For OP, there's a pretty massive series of blog posts I fumbled along with too, https://ianthehenry.com/posts/how-to-learn-nix/introduction/ though it's a couple years old.

[–] [email protected] 4 points 10 months ago

Thank you both ✨

[–] [email protected] 7 points 10 months ago (1 children)

The best way I know of is to get yourself a VM and get into the weeds; try to configure a system to your liking.

Follow the NixOS manual. The Wiki is unofficial; often opinionated, out of date or just plain wrong. Take it with a grain of salt. The canonical source of documentation is the NixOS manual and it's not nearly as bad as you may have heard.

Make extensive use of https://search.nixos.org/options or man configuration.nix. Finding and making proper use of options and the module system is the bread and butter of using NixOS.

Eventhough everyone and their mom will recommend them to you for nebulous reasons, ignore flakes for now. You will know when you'll benefit from using them; namely when you need to use something outside of NixOS/Nixpkgs. You're going to have enough to figure out with plain old NixOS on its own though; I don't have external dependencies in my config to this day.

To wrap it up, make sure to ask the community if something's not working as expected: https://github.com/NixOS/nixpkgs#community

[–] [email protected] 3 points 10 months ago

Much appreciated dude 🙌

[–] [email protected] 5 points 10 months ago

If you're interested in using flakes, this repo was helpful when learning how to get my first system configurations set up in an organized way https://github.com/Misterio77/nix-starter-configs

[–] [email protected] 5 points 10 months ago
[–] [email protected] 4 points 10 months ago

I've actually been getting into NixOS recently; interested in replacing an old server I've had for like 10 years with something I can just build from a bunch of config files.

Can confirm it is confusing and I have no idea how anything works. :D

In my searches, I've come across https://nixos.org/guides/nix-pills/ , which I've gone through a few chapters of - seems good so far.

[–] [email protected] 4 points 10 months ago

Since you're listening to LUP anyways, the Nix Nerds room on their Matrix is a great resource as well.

[–] [email protected] 3 points 10 months ago

The #nix:nixos.org room on matrix is a great place to ask questions if you get stuck.

[–] [email protected] 2 points 10 months ago

After you're done with the initial setup, I've found looking for nix code on GitHub to be very useful for seeing how to do things.