Add a section on Nix, Nixos and related tools #30

Merged
silver merged 11 commits from #29-nix_nixos-assignment into main 2024-10-18 22:26:26 +00:00
2 changed files with 6 additions and 6 deletions
Showing only changes of commit 8212fa7780 - Show all commits

BIN
_git.tar.gz (Stored with Git LFS)

Binary file not shown.

View file

@ -10,7 +10,7 @@ These are deeply interlinked together with the language being how the package ma
Nix grew out of a [PhD by Eelco Dolstra][nix_paper] wherein he proposes a slightly different way to manage dependencies on a system. Nix grew out of a [PhD by Eelco Dolstra][nix_paper] wherein he proposes a slightly different way to manage dependencies on a system.
For most Linux systems programs make use of other software installed on the computer, for the most part this works fine. For most Linux systems programs make use of other software installed on the computer, for the most part this works fine.
Where issue may arise is if one program needs to update one of these dependencies, specially a minor or major patch where backwards compatibility is not guaranteed. Where issue may arise is if one program needs to update one of these dependencies, specifically a minor or major patch where backwards compatibility is not guaranteed.
silver marked this conversation as resolved Outdated
Outdated
Review

specially might be right here not sure, especially or specifically to me sounds better but 🤷

specially might be right here not sure, especially or specifically to me sounds better but 🤷

Ye this was intended to be specifically

Ye this was intended to be ``specifically``
If another program is using this (system-wide) dependency then it may run into interface issues when using it. If another program is using this (system-wide) dependency then it may run into interface issues when using it.
In a sense updating one program can break another on the system. In a sense updating one program can break another on the system.
@ -47,7 +47,7 @@ The programming language used by the Nix package manager is called Nix, not NixL
For clarity for the remainder of this subsection we are only talking about Nix the language. For clarity for the remainder of this subsection we are only talking about Nix the language.
The Nix Package manager is sometimes known as CppNix for reasons we will get into later. The Nix Package manager is sometimes known as CppNix for reasons we will get into later.
Nix is a lazily evaluated functional language which al has REPL (Read, Evaluate, Print, and Loop) capability like what you would see in Python. Nix is a lazily evaluated functional language which also has REPL (Read, Evaluate, Print, and Loop) capability like what you would see in Python.
silver marked this conversation as resolved Outdated
Outdated
Review

'which al has repo' -> which also has REPL

'which al has repo' -> which also has REPL
As a whole it takes strong influences from OCaml and other ML derived languages. As a whole it takes strong influences from OCaml and other ML derived languages.
##### Types ##### Types
@ -185,7 +185,7 @@ Building is pretty easy, just run ``colmena build``.
Downside of that command is it will try to build everything all at once which is a *lot*. Downside of that command is it will try to build everything all at once which is a *lot*.
A more practical approach is to build a single server or a group of servers. A more practical approach is to build a single server or a group of servers.
```shell ```shell
# build the Skynet server, names cna be found in the flake.nix # build the Skynet server, names can be found in the flake.nix
silver marked this conversation as resolved Outdated
Outdated
Review

cna -> can

cna -> can
colmena build --on skynet colmena build --on skynet
# build a group of servers, in this case any one with the tag of active-core # build a group of servers, in this case any one with the tag of active-core
@ -218,7 +218,7 @@ agenix -r
### Attic ### Attic
[Attic][dev_attic] is the tool that we use for our nix cache (hosted at <vhttps://nix-cache.skynet.ie/>). [Attic][dev_attic] is the tool that we use for our nix cache (hosted at <vhttps://nix-cache.skynet.ie/>).
It is not often it is used by the dev and its own [documentation][dev_attic_docs] covers it best. It is not often used by the developer/admin and its own [documentation][dev_attic_docs] covers it best.
silver marked this conversation as resolved Outdated
Outdated
Review

the dev -> the dev shell?

the dev -> the dev shell?

developer

developer