From 1d48a2a77d6c96372666cd9e7856b6f341d1cd07 Mon Sep 17 00:00:00 2001 From: Pedro Rey Anca Date: Mon, 15 Dec 2025 21:39:15 +0100 Subject: [PATCH] Add flakes and nixos stuff --- src/slides.md | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/src/slides.md b/src/slides.md index 9b1bce3..e2c31a5 100644 --- a/src/slides.md +++ b/src/slides.md @@ -409,9 +409,104 @@ in "${pkgs.hello}" Flakes === - Experimentales + - Pero no como piensas - Simplemente un **_wrapper_** para otras configuraciones de Nix - `flake.nix` `flake.lock` +```nix +line_numbers {all|2-6|6-12} +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; + }; + +outputs = { self, nixpkgs, ... }@inputs: { + nixosConfigurations.my-nixos = nixpkgs.lib.nixosSystem { + modules = [ + ./configuration.nix + ]; + }; + }; +} +``` + + + +Configurar NixOS +=== +`/etc/nixos/configuration.nix` +```nix +line_numbers {all|10|12|all} +{ config, pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ]; + + # ...... + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + environment.systemPackages = with pkgs; [ + git + vim + wget + ]; + environment.variables.EDITOR = "vim"; + + # ...... +} +``` + + +Configurar NixOS con Flakes +=== +`/etc/nixos/flake.nix` +```nix +line_numbers {all|11-12|all} +{ + description = "A simple NixOS flake"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; + }; + + outputs = { self, nixpkgs, ... }@inputs: { + nixosConfigurations.my-nixos = nixpkgs.lib.nixosSystem { + modules = [ + # Importamos lo que teníamos antes! + ./configuration.nix + ]; + }; + }; +} +``` + + + + + + + +Vamos a probar algunas cosas 🙃 +=== + + +Tips & tricks +=== + +- Si usas Git, Nix ignora todos los archivos no trackeados. +- `sudo nix-collect-garbage --delete-old` +- `sudo nix-store --optimise` + +```nix +{ + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + + nix.settings.auto-optimise-store = true; +} +``` ¿Preguntas? ===