Hello, everyone! I’m a long time Linux user who has warily stared at NixOS from the safe distance one might give to wild animals on a safari for quite some time now… And I finally decided, “fuck it, I’m gonna poke it with a stick.”
I absolutely adore this system, even as strange a paradigm as it is coming from a decade of “traditional” management systems. I haven’t been this excited about a Linux distro since… Well, ever really. Maybe OpenSUSE Tumbleweed? I can’t recall.
Anyway, I wanted to introduce myself and preach to the choir for a second, so to speak. As someone totally new to this paradigm of system management, what are your #1 must read/watch resources you would recommend? I’ve perused through the NixOS Learn website over the last couple of days, and I’m itching for more. I can’t wait to see what all this system is capable of!
I recommend adding a https://wiki.nixos.org/ search engine to your browser. Maybe it’s not Arch Wiki, but it’s getting better. Oftentimes I cannot find how to do something on NixOS anywhere but on the wiki
Vimjoyer on youtube has very concise and well made videos on nix.
Since you ask for resources, check the bookmarks section of my personal guide for configuring nixos
https://codeberg.org/BlastboomStrice/LinuxPlan/src/branch/main/LinuxPlan.md#nixos-bookmarks
Welcome aboard:)
Welcome! I use home-manager and sops-nix. Use flakes, always!
For neovim i use https://github.com/nix-community/nixvim, but i’ve been eyeing https://github.com/NotAShelf/nvf
For content i recommend Vimjoyer and the official NixOS wiki.
Personally i used this as a good base, to see how some things are done. But then i started doing my own thing eventually. https://github.com/Aylur/dotfiles. You can search on github for NIxOS configs to see how things are done, and you have this community to ask questions.
Have fun! If i find more resources i’ll edit this comment.
Been using Nix for just over a year.
Seconding to go with flakes. No idea wtf channels are or whatever the previous system was.
Documentation can be confusing due to changes in paradigms. The bare “nix <scope>” seems to be the most modern oppose to “nix-<scope>” (e.g., nix store vs nix-store). That said, not every feature can be found in the newer variants.
This can make following tutorials difficult if they aren’t using the same paradigm.
Getting comfortable with the nix language will be helpful. Its a functional programming language, which is very different than languages like bash.
Not everything has to be done the nix-way. My nvim files are in the same repo, but I just outOfStoreSymlink them instead of wrapping them in a derivation.
Some useful packages I like not already shared.
Disk partitioning: https://github.com/nix-community/disko
Immutable: https://github.com/nix-community/impermanence - Pretty much resets the system to a new install every boot. Discourages manual tweaks via sudo as they get wiped out. You can still mark certain directories to be persistent (logs, personal documents, steam games, etc.).
Nvfetcher: https://github.com/berberman/nvfetcher - Nix has a concept of overlays. You can pretty much override anything with .override (module args or inputs) and .overrideAttrs (module attribute set or outputs). Nvfetcher helps with checking different sources so you can override a packages src attribute. Why is this useful? So you can install any version you want and are not bound to nixpkgs. That doesn’t mean the install script in nixpkgs will always work on newer versions, but those can be overridden as well if needed.
Note that disko, impermanence, and nvfetcher all have a flake.nix in the root of the repo. Those provide ready to go overlays so you don’t have to deal with writing your own which is really nice if you want to latest version without much work when available.
some other resources not yet mentioned:
some advanced tools that are worth knowing about
things I’ve set up that are kinda neat:
#1 is definitely skimming the original https://edolstra.github.io/pubs/phd-thesis.pdf
#2 is bookmarking https://github.com/tazjin/nix-1p and going poking
#3 the holy trinity of nix/nixpkgs/nixos manuals at https://nixos.org/learn which are also the reference kind of materials, not top-to-bottom bedside readingSome swear by Nix pills https://nixos.org/guides/nix-pills, but I only got to reading the relevant parts of them when I was making my own distro.
In general, poking matters much more because NixOS world is much more Lego than the now-fossilized last-century Linux one, meaning that you get much more freedom/incentive to do weird things that noone tried before, so there are fewer restrictive patterns you need to learn before you inevitably break them. If you think I’ve just described Windows->Linux, no, I’m describing Linux->NixOS.
Welcome!
I highly recommend forking an advanced config and refactoring it to do what you want.
I tried it, and refunded the day I tried it. I was shocked to find it’s just a botched mess
Full or partial refund? Back to original payment method, or just nix store credit?
/s