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 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**. > 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 - Sencillo
@ -60,6 +61,7 @@ Nix, el lenguaje
- Lazy - Lazy
- Turing completo - Turing completo
<!-- column: 1 -->
```nix +exec ```nix +exec
let let
fibonacci = n: fibonacci = n:
@ -76,9 +78,11 @@ in
NixOS 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 - Nix como gestor de paquetes
- _OS as code_ - _OS as code_
- Se encarga **solo** de la parte declarativa - Se encarga **solo** de la parte declarativa
@ -99,11 +103,13 @@ NixOS
Home Manager Home Manager
=== ===
<!-- column_layout: [1, 1] -->
<!-- column: 0 -->
- Gestión de _dotfiles_ - Gestión de _dotfiles_
- Independiente de NixOS - Independiente de NixOS
- Por la comunidad - Por la comunidad
<!-- column: 1 -->
```nix ```nix
{ {
programs.zsh = { programs.zsh = {
@ -144,12 +150,12 @@ Ecosistema
- NixOps, clan, colmena... - NixOps, clan, colmena...
```nix ```nix
# Construir una imagen de coker para el paquete hello # Construir una imagen de docker para el paquete hello
pkgs.dockerTools.buildLayeredImage { pkgs.dockerTools.buildLayeredImage {
name = "nix-hello"; name = "nix-hello";
tag = "latest"; tag = "latest";
contents = [ pkgs.hello ]; contents = [ pkgs.hello ];
} }
``` ```
<!-- end_slide --> <!-- end_slide -->
@ -159,6 +165,13 @@ pkgs.dockerTools.buildLayeredImage {
```bash ```bash
nix repl nix repl
``` ```
```
Welcome to Nix 2.13.3. Type :? for help.
nix-repl> 1 + 2
3
```
<!-- end_slide --> <!-- end_slide -->
@ -309,7 +322,10 @@ f v
``` ```
<!-- end_slide --> <!-- end_slide -->
## Librerias ## Librerías
<!-- column_layout: [2, 1] -->
<!-- column: 0 -->
### `builtins` ### `builtins`
- Vienen con Nix - Vienen con Nix
- Escritas en **C++** - Escritas en **C++**
@ -317,8 +333,8 @@ f v
```nix +exec ```nix +exec
builtins.toString builtins.toString
``` ```
<!--pause --> <!--pause -->
### `pkgs.lib` ### `pkgs.lib`
- En nixpkgs - En nixpkgs
- Escritas en Nix - Escritas en Nix
@ -328,14 +344,23 @@ let
in in
pkgs.lib.strings.toUpper "lookup paths considered harmful" 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 --> <!-- end_slide -->
## Impuridades ## Impuridades
### Path ### Path
```bash +exec ```bash +exec
echo "Hola mundo" > data echo "Hola mundo" > /tmp/data
nix-instantiate --eval -E '"${./data}"' nix-instantiate --eval -E '"${/tmp/data}"'
``` ```
<!--pause --> <!--pause -->