feat: documentation stuff
This commit is contained in:
parent
67f2ce05b9
commit
bcb958785a
3 changed files with 53 additions and 1 deletions
|
@ -19,5 +19,8 @@ This whole folder is for the most part just a system to clean up importing
|
|||
- The [components](system_profiles/components) directory:
|
||||
- Should never import anything from this repository
|
||||
- It can import things from nixpkgs
|
||||
- Should set only basic "system" settings
|
||||
- Should set only basic "system" wide settings
|
||||
("system" is not well defined)
|
||||
NixOS has profiles this should be a similar concept to them
|
||||
- [NixOS profiles](https://github.com/NixOS/nixpkgs/tree/master/nixos/modules/profiles)
|
||||
- [NixOS manual on profiles](https://nixos.org/manual/nixos/stable/#ch-profiles)
|
4
docs/notes/ReadMe.md
Normal file
4
docs/notes/ReadMe.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Not a source of checked sources
|
||||
This folder is just notes in the process of learning nix stuff
|
||||
It by no means was really checked for correctness
|
||||
*You have been warned*
|
45
docs/notes/my understanding of nix terms.md
Normal file
45
docs/notes/my understanding of nix terms.md
Normal file
|
@ -0,0 +1,45 @@
|
|||
# My understanding of nix terms
|
||||
|
||||
## The nix trinity
|
||||
|
||||
### nix
|
||||
|
||||
Is "just" a package manager + programming language attached to it. It is not necessarily connected to *nixpkgs* or *NixOS*. You could just create your own package repository and or distro. The package manager can also run standalone on basically any distro without needing something like NixOS.
|
||||
|
||||
### nixpkgs
|
||||
|
||||
A git repository with loads of recipes of packages and tools to build them more easily.
|
||||
|
||||
- The `lib` that you "import" like this `{lib, ...}: {}` is coming from here.
|
||||
- it also technically contains *NixOS* though it is mostly separate, there are some shared parts, but no dependencies as far as i know
|
||||
|
||||
### NixOS
|
||||
|
||||
A distro build upon nix and nixpkgs. It lives in the same repo as *nixpkgs*
|
||||
|
||||
- Houses tools like `nixos-rebuild`
|
||||
- And `switch-to-configuration` framework
|
||||
|
||||
## Other big concepts
|
||||
|
||||
### flakes
|
||||
|
||||
The term is not just used for the new file layout, but also the *new cli* around it. *Flakes* try to go after more "purity". For example with flakes the `inputs` (read where to download sources) and replaces channels by it.
|
||||
|
||||
- One of the Benefit is that you get a `flake.lock` file in which the sources are locked via various ways (git commit, hash, etc).
|
||||
Beforehand channels where handled system wide and so developers had different versions again ...
|
||||
- My suggestion use flakes and therefor avoid `fetch` commands and registry syntax with `<nixpkgs>` (a registry is basically just a naming system (dns) and i **think** `<nixpkgs>` would just point to your local channel and the end of the chain)
|
||||
|
||||
### new cli
|
||||
|
||||
As mentioned before with the flakes there also comes a new cli, mostly seperate tools new are part of nix
|
||||
|
||||
| Old | New |
|
||||
| -------------- | --------------- |
|
||||
| nix-shell | nix shell |
|
||||
| nix-store | nix store |
|
||||
| ... | ... |
|
||||
|
||||
- [nix manual on new cli](https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix)
|
||||
- [nix wiki on new cli](https://wiki.nixos.org/wiki/Nix_(command))
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue