this post was submitted on 26 Jul 2024
147 points (97.4% liked)
Linux
48180 readers
1128 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
NixOS
My drive to nix was so I could simply manage what packages I had installed with a text file. If I removed something from the file, I expect it to be uninstalled. I never found a tool/wrapper for apt to do this.
If you want to start with nixos, I would take whatever distro you are on and install nix and then home manager. Then, you can slowly migrate your user configuration over without starting from scratch. That worked really well for me going from ubuntu to nixos.
I tried it a while back, thought it would be good for my servers, but at the end of the day I found that it was a lot of learning for a very small benefit that could be achieved differently. Instead I focused on learning Ansible which also allowed me to write configs to deploy lots of services to my servers. I still want to learn Nix at some point, but I feel it's a lot less important if you have an Ansible playbook that does the same thing and even more for any distro you might care to install.
I think the problem is that most people dive right in and go to NixOS which has its quirks as a linux OS (see FHS). The Nix language is great at building and moving source code between computers, really any big collection of binaries. If you don't do that, try just using the nix-shell command to instantly run a piece of software without installing it. You can write a shell.nix file to hop into and out of an environment with whatever software you need. Once you can write a couple .nix files then move onto NixOS; which after all is just a big collection of binaries.
Agreed, but I found getting NixOS the way I want it, to be super overwhelming, and documentation simply sucks. I've been thinking of forking ZaneyOS (Link: https://gitlab.com/Zaney/zaneyos) and basing my NixOS config on it. Otherwise, it's just too much.
I just started yesterday in a VM. It's no stress and you can easily put your configuration on metal after. Pretty fun stuff.
The most satisfying part of the NixOS process is deploying to bare metal and watching it work exactly as you intend it to
I have my garuda installation just where and how i want it to be. NixOS just always seemed very interesting, but i don't want to run it on my daily machine.
Don't, you can still install nix into Garuda. Works great as a separate package manager that won't get in the way.
Nix flakes, me.