Fixes in layout and execution

This commit is contained in:
Pedro Rey Anca 2025-12-15 21:38:50 +01:00
parent c42bf78ec6
commit 9c4a775738
Signed by: peprolinbot
GPG key ID: 053EA6E00116533A

View file

@ -52,7 +52,8 @@ Declarativo?
Nix, el lenguaje
===
<!-- column_layout: [3, 2] -->
<!-- column: 0 -->
> Sólo existe por y para Nix, el gestor de paquetes: para describir paquetes y configuraciones, así como sus variantes y composiciones. **No está pensado para casos de uso generales**.
- Sencillo
@ -60,6 +61,7 @@ Nix, el lenguaje
- Lazy
- Turing completo
<!-- column: 1 -->
```nix +exec
let
fibonacci = n:
@ -76,9 +78,11 @@ in
NixOS
===
<!-- column_layout: [1, 4] -->
<!-- column: 0 -->
![](images/nixos-logo-25.11-xantusia-lores.png)
![image:width:40%](images/nixos-logo-25.11-xantusia-lores.png)
<!-- column: 1 -->
- Nix como gestor de paquetes
- _OS as code_
- Se encarga **solo** de la parte declarativa
@ -99,11 +103,13 @@ NixOS
Home Manager
===
<!-- column_layout: [1, 1] -->
<!-- column: 0 -->
- Gestión de _dotfiles_
- Independiente de NixOS
- Por la comunidad
<!-- column: 1 -->
```nix
{
programs.zsh = {
@ -144,7 +150,7 @@ Ecosistema
- NixOps, clan, colmena...
```nix
# Construir una imagen de coker para el paquete hello
# Construir una imagen de docker para el paquete hello
pkgs.dockerTools.buildLayeredImage {
name = "nix-hello";
tag = "latest";
@ -159,6 +165,13 @@ pkgs.dockerTools.buildLayeredImage {
```bash
nix repl
```
```
Welcome to Nix 2.13.3. Type :? for help.
nix-repl> 1 + 2
3
```
<!-- end_slide -->
@ -309,7 +322,10 @@ f v
```
<!-- end_slide -->
## Librerias
## Librerías
<!-- column_layout: [2, 1] -->
<!-- column: 0 -->
### `builtins`
- Vienen con Nix
- Escritas en **C++**
@ -317,8 +333,8 @@ f v
```nix +exec
builtins.toString
```
<!--pause -->
### `pkgs.lib`
- En nixpkgs
- Escritas en Nix
@ -328,14 +344,23 @@ let
in
pkgs.lib.strings.toUpper "lookup paths considered harmful"
```
<!--pause -->
<!-- column: 1 -->
### `import`
- Parte de `builtins`
```bash +exec
echo "1 + 2" > /tmp/file.nix
nix-instantiate --eval -E 'import /tmp/file.nix'
```
<!-- end_slide -->
## Impuridades
### Path
```bash +exec
echo "Hola mundo" > data
nix-instantiate --eval -E '"${./data}"'
echo "Hola mundo" > /tmp/data
nix-instantiate --eval -E '"${/tmp/data}"'
```
<!--pause -->