commit - 4c07d2e644f0c2d3212fb565219cc1adc7280793
commit + 24efbb6297e2c0aa48a38c06f738bb2559cbfdfd
blob - 8913b087ca4f733ae7a7fa80c416e9195729f88c
blob + 5aae2a29ddb2c5207d9205ac9ea7b37b17c018bb
--- flake.lock
+++ flake.lock
"type": "github"
}
},
+ "nix-flatpak": {
+ "locked": {
+ "lastModified": 1767983141,
+ "narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
+ "owner": "gmodena",
+ "repo": "nix-flatpak",
+ "rev": "440818969ac2cbd77bfe025e884d0aa528991374",
+ "type": "github"
+ },
+ "original": {
+ "owner": "gmodena",
+ "ref": "v0.7.0",
+ "repo": "nix-flatpak",
+ "type": "github"
+ }
+ },
"nixpkgs": {
"locked": {
"lastModified": 1787360063,
"gruvbox-wallpapers": "gruvbox-wallpapers",
"home-manager": "home-manager",
"nezzontli-ctl": "nezzontli-ctl",
+ "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs",
"psysonic": "psysonic",
"slides": "slides",
]
},
"locked": {
- "lastModified": 1785563576,
- "narHash": "sha256-H6NHD30duMb/sidZmUITR5dZhMopBUtsdRFG9b3CClw=",
+ "lastModified": 1788052089,
+ "narHash": "sha256-i7AUk5p2C4cP7W5BdEXOfVn8pwCtNRR+9efzvRuROII=",
"owner": "Richard7987",
"repo": "slide",
- "rev": "fc21959a0c4481b5f9725702e9e24df6458a7c46",
+ "rev": "d24927d6aacc10158c3a1ce30082852c5e5ea884",
"type": "github"
},
"original": {
blob - 22def91c423d6030363fced109891875278294cf
blob + e385197148325e0a765041e29781dc141b9f6663
--- hosts/ale/configuration.nix
+++ hosts/ale/configuration.nix
# boot.loader.grub.device = "/dev/sdX"; # disco completo, no partición
# y quita las dos líneas de systemd-boot/efi de abajo.
boot.loader.systemd-boot.enable = true;
- boot.loader.systemd-boot.configurationLimit = 5;
+ # 2 = generación actual + la anterior en el menú de arranque, para poder
+ # volver si un rebuild deja el sistema roto.
+ boot.loader.systemd-boot.configurationLimit = 2;
boot.loader.efi.canTouchEfiVariables = true;
# Sin esto no hay swap en absoluto (hardware-configuration.nix trae
"psysonic.cachix.org-1:M9cQyQ7tgvUWOQ5Pyt8ozlMoPLtOZir6MfRuTH9/VYA="
];
- # Sin esto /nix/store solo crece: no había ningún GC programado, y
- # boot.loader.systemd-boot.configurationLimit (ver más abajo) solo recorta
- # el menú de arranque, no el store. Semanal + 14 días de margen para poder
- # hacer rollback a una generación reciente si un rebuild sale mal.
+ # GC diario, conservando solo lo de los últimos 3 días -- con rebuilds ~1/día
+ # eso deja la generación actual y la anterior (las que muestra
+ # configurationLimit = 2), suficiente para hacer rollback si algo sale mal,
+ # sin dejar que el store se acumule como antes.
nix.gc = {
automatic = true;
- dates = "weekly";
- options = "--delete-older-than 14d";
+ dates = "daily";
+ options = "--delete-older-than 3d";
};
+ # GC de emergencia DURANTE un build: si el espacio libre baja de min-free,
+ # Nix recolecta basura hasta llegar a max-free antes de seguir -- evita que
+ # `nixos-rebuild` reviente con "No space left on device" a mitad de camino.
+ nix.settings.min-free = 3 * 1024 * 1024 * 1024; # 3 GiB
+ nix.settings.max-free = 15 * 1024 * 1024 * 1024; # 15 GiB
+
# nix-ld: provee un linker dinámico genérico (+ libs comunes) para poder
# correr binarios prebuilt de terceros sin patchear -- sin esto, cualquier
# binario dinámicamente enlazado que un tool descargue por su cuenta (VSCode
ffmpeg # kinocut llama a los binarios ffmpeg/ffprobe por PATH -- mpv (modules/desktop.nix)
# linkea libav* como librería interna, pero no expone esos binarios sueltos.
appimage-run # ejecuta el AppImage de idevice_pair (pairing con iPhone para SideStore)
+ wineWow64Packages.stable # Wine 64/32-bit -- para correr el instalador de PASCO Capstone (PEC forense)
+ winetricks # configura dependencias/componentes dentro del prefix de Wine
];
# usbmuxd: demonio que expone el iPhone conectado por USB como socket local