docs: update main README

This commit is contained in:
Gabriel Arazas 2022-08-18 12:28:45 +08:00
parent e3886c17f3
commit 3a287069e9

View File

@ -212,20 +212,46 @@ However, it doesn't roll off the tongue.
[qanda] [qanda]
Hello! I'm new to Nix and NixOS, where should I start?:: Hello! I'm new to Nix and NixOS, where should I start?::
Oh no, you've seen the multiple configurations from other systems, didn't you? Oh no, you've seen the multiple configurations from other systems, didn't you?
+
--
I hope you're ready for some time understanding because the learning curve is steeper than the link:https://en.wikipedia.org/wiki/Troll_Wall[Troll Wall]. I hope you're ready for some time understanding because the learning curve is steeper than the link:https://en.wikipedia.org/wiki/Troll_Wall[Troll Wall].
I've written link:https://foo-dogsquared.github.io/blog/posts/moving-into-nixos/[a blog post regarding my experience with Nix] with a bunch of links for getting started. I've written link:https://foo-dogsquared.github.io/blog/posts/moving-into-nixos/[a blog post regarding my experience with Nix] with a bunch of links for getting started.
Fortunately footnote:[Or unfortunately from a different perspective.], it is mostly the same experience now that I've revisited it. Fortunately footnote:[Or unfortunately from a different perspective.], it is mostly the same experience now that I've revisited it.
(That said, Nix Pills is getting better!) (That said, Nix Pills is getting better!)
+
For a more practical start, I recommend to look into several configurations to see the general gist of configuration with Nix. For a more practical start, I recommend to look into several configurations to see the general gist of configuration with Nix.
Here's a few I personally dug into: Here's a few I personally dug into:
+
* {devos_link} * {devos_link}
* https://github.com/hlissner/dotfiles * https://github.com/hlissner/dotfiles
* https://github.com/thiagokokada/nix-configs * https://github.com/thiagokokada/nix-configs
--
Should I use NixOS?::
I feel like link:https://github.com/hlissner/dotfiles/blob/5ea10e188354d096566a364016fbd28ec38dbe07/README.md#frequently-asked-questions[this answer is enough] but I'll give my take on it regardless.
+
--
If you are looking forward to debugging your configuration which consists of finding multiple sources from the manuals from the website, reading the source code from the appropriate point in link:https://github.com/NixOS/nixpkgs/[nixpkgs], and repeatedly testing your NixOS configurations with each change then this is for you.
Entering the Nix ecosystem at the beginning requires high level of engagement to learn the ropes even if your only intention is to create a basic reproducible operating system ala-Ansible.
* You'll encounter vague and unique errors as the likes of NixOS is a unique world (the infamous infinite recursion, anyone?).
* You'll appreciate technical writers as the documentation department is lacking.
* You'll read outdated unofficial guides, resources, and the source code as you dive deeper into Nix.
* You'll get used to the unfortunate UX that is the toolings around Nix (even the revised Nix CLI has its problems).
There's nothing better with NixOS than the (un)official NixOS experience™.
Once you passed the initial curve and the difficulties that come with NixOS, the benefits are immense.
* You can make use of Nix's large ecosystem of packages from nixpkgs, which contains not only a large number of applications, but also decent support as a universal build system for projects made with different tools (i.e., programming languages, even other more popular build systems).
* It is easier to distribute and verify your builds as Nix also has toolings available for those purposes. footnote:[Though, other packaging formats also has those but for Nix, reproducibility is one of the focus.]
If you intend to use NixOS, I recommend to start small and install Nix on a non-NixOS distro and use it as a way to create reproducible development environment, be familiar to its build process (I recommend reading link:https://nixos.org/guides/nix-pills[Nix Pills] to get started), get intimate with systemd, and then test NixOS in a virtual machine.
--
Any requirements for this setup?:: Any requirements for this setup?::
You only need Nix 2.4 installed with the experimental features for Nix command and flakes enabled (i.e., `experimental-features = nix-command flakes`). You only need Nix 2.6 installed with the experimental features for Nix command and flakes enabled (i.e., `experimental-features = nix-command flakes`).
Hey! I have an error something like `/nix/${HASH}-nmd/` from my installation. Why it doesn't work?:: Hey! I have an error something like `/nix/${HASH}-nmd/` from my installation. Why it doesn't work?::
This error seems to be related to home-manager. This error seems to be related to home-manager.
@ -237,14 +263,16 @@ link:https://youtu.be/iWJKZK_1l88[I LIKE IT!]
There are still some hiccups like the strict tie-in to Git which leads to strange experience like having to add untracked files just to be recognized. There are still some hiccups like the strict tie-in to Git which leads to strange experience like having to add untracked files just to be recognized.
However, this feature is still in the works so no surprise there. However, this feature is still in the works so no surprise there.
+ +
--
With that said, it is workable to be a daily part of the NixOS experience especially with the benefits of Nix flakes. With that said, it is workable to be a daily part of the NixOS experience especially with the benefits of Nix flakes.
+
* More user-friendly compared to Nix channels. * More user-friendly compared to Nix channels.
* Just one reference file to know what is being exported from a project. * Just one reference file to know what is being exported from a project.
* Unification with commonly-agreed schemas. * Unification with commonly-agreed schemas.
+
This feature somewhat helped me understand more about the Nix language, oddly. This feature somewhat helped me understand more about the Nix language, oddly.
I guess those lightbulb moments can come from random places. I guess those lightbulb moments can come from random places.
--
Is this based from link:{devos_link}[devos]?:: Is this based from link:{devos_link}[devos]?::
Yes but I've created this from scratch. Yes but I've created this from scratch.