Add a section on Nix, Nixos and related tools #30
2 changed files with 6 additions and 6 deletions
BIN
_git.tar.gz
(Stored with Git LFS)
BIN
_git.tar.gz
(Stored with Git LFS)
Binary file not shown.
|
@ -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.
|
||||||
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.
|
||||||
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
|
||||||
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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue