184
submitted 6 months ago* (last edited 6 months ago) by doriverte@lemmy.world to c/unixsocks
you are viewing a single comment's thread
view the rest of the comments
[-] FrederikNJS@lemm.ee 16 points 6 months ago* (last edited 6 months ago)

The whole point of NixOS is that it's "immutable" and "declarative".

In essence this means that you store the entire system configuration in a bunch of text files in a single directory. So your bootloader configuration, all your installed packages, every system service, every filesystem mounts, and even your partition layout and dotfiles, all of it in a common shared configuration.

There's even a concept called flakes, which lock the specific version of everything, so if you copy all your config to another computer (or reinstall), then applying the config will restore every system configuration to exactly that state. So if you like how you configured your machine, and want another machine exactly like it, you just copy all your configuration to the other machine, and run the nixos-rebuild command. Now the two machines are configured exactly identically, all the same package, all the same services, all the same configurations, even all the same versions if you make use of flakes.

It also means that you can reason about your entire system setup just by looking at those configs. Is that piece of config in the files? Then that's how your system is configured. If that piece of config isn't there, then that is not how your system is configured.

Want to install an application, just add it to the list in your config, and run the nixos-rebuild command. Now you have that installed. Don't want it anymore? Just remove it from the list, and rerun nixos-rebuild.

On top of that NixOS stores every generation of your config, so even if you break something, you just restart and pick the previous config generation, and your system starts up exactly as it was before you broke it, and you can go and resolve the issue in the config that broke your system.

If you've ever done any programming, and made use of a dependency management tool that stores a dependency lock file, this is very similar, but for your entire operating system.

If you've ever managed infrastructure via Terraform, then this feels like that, but for your entire system configuration.

this post was submitted on 30 Jun 2024
184 points (100.0% liked)

r/unixsocks on fediverse

2128 readers
121 users here now

About !unixsocks@lemmy.blahaj.zone on fediverse:

Unixporn + socks

Rules:

All non-meme posts should consist of the poster with socks, thigh highs, stockings, or even just legs, feel free to get creative!

A Unix-like OS is preferred, but any operating system is fine, as long as you are doing cool, or unique stuff with it.

Hate speech or discrimination will not be tolerated, we are protective of our lgbtq, neurodiverse, and culturally diverse members, but any sexism, racism, classism, or other bigotry will not be tolerated, and will result in am immediate ban that you may try and appeal.

NSFW post must have NSFW flag.

founded 2 years ago
MODERATORS