From bdb5f7df9abccd11eea70c5d78b9f72935397278 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 8 Sep 2026 20:01:49 +0000 Subject: [PATCH] =?UTF-8?q?nix=20instalado=20en=20gioser:=20la=20cadena=20?= =?UTF-8?q?frontera=E2=86=92triaje=20vuelve=20a=20correr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 'yupana frontera' llevaba desde el 2026-08-10 sin poder correr acá porque el hub no tenía nix. Instalado desde el repo de Artix (extra/nix 2.35.2). Dos cosas que costaron medirse: · El paquete quedó ROTO al instalarse: le faltaban libboost_{context,iostreams,url}.so.1.92.0 porque el sistema tiene boost 1.91 y 280 paquetes sin actualizar. NO se hizo 'pacman -Syu': 280 paquetes en un server protegido, sin backup, que hospeda la granja, gitea y el runner de CI no es una decisión que tome un arreglo de tooling. El ensayo en seco mostró que la reparación acotada eran TRES paquetes exactos (boost-libs, source-highlight, gdb) sin cascada, y eso sí se hizo. Control después: gdb 17.2 sigue arrancando. · El store por defecto iba a ~/.nixstore, o sea a '/', que tiene 21 G libres frente a los 126 del volumen. Llenar '/' no rompe una tanda, rompe la máquina. NIX_ROOT pasa a apuntar a work/nixstore, que además ya es el sitio de lo pesado-y-regenerable. La caché git de nixpkgs (~69 M) NO la gobierna esa variable —nix la pone en XDG_CACHE_HOME— así que en gioser está mudada al volumen con un enlace: ~/.cache/nix -> /mnt/vvv/nix-cache. Con eso, la frontera vuelve a dar respuesta, y es pequeña como corresponde a un corpus cerrado: 172 candidatos → 150 opcionales, 11 provistos, 5 nix-ismos, 4 HUECOS reales (polkit-qt-1, qqc2-breeze-style, shared-mime-info, xwayland) y 2 pendientes de clasificar (mesa-libclc, python3-3.14.7-env). Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2 --- docs/state/frontera-triaje.toml | 117 ++++++++++------- docs/state/seed-frontera.json | 217 +++++++++++++++++++++++++------- scripts/seed-graph.py | 8 +- 3 files changed, 247 insertions(+), 95 deletions(-) diff --git a/docs/state/frontera-triaje.toml b/docs/state/frontera-triaje.toml index 2f822421..292d5e39 100644 --- a/docs/state/frontera-triaje.toml +++ b/docs/state/frontera-triaje.toml @@ -27,14 +27,14 @@ piden = ["mesa"] [candidato."acl"] veredicto = "opcional" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli", "escritorio-kde"] +perfiles = ["base", "cli", "escritorio-kde"] piden = ["kio", "rsync"] [candidato."adns"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["gnupg"] [candidato."appstream-qt"] @@ -66,7 +66,7 @@ piden = ["kfilemetadata", "kio"] [candidato."audit"] veredicto = "opcional" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["dbus", "linux-pam"] [candidato."aurorae"] @@ -80,21 +80,21 @@ piden = ["kwin"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli", "escritorio-kde"] +perfiles = ["base", "cli", "escritorio-kde"] piden = ["util-linux"] [candidato."autoconf-archive"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["python3"] [candidato."automake"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli", "escritorio-kde"] +perfiles = ["base", "cli", "escritorio-kde"] piden = ["util-linux"] [candidato."avahi"] @@ -115,14 +115,14 @@ piden = ["plasma-workspace"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["python3"] [candidato."check"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["parted"] [candidato."clang"] @@ -136,7 +136,7 @@ piden = ["mesa"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["shadow"] [candidato."cups"] @@ -149,7 +149,7 @@ piden = ["qtbase"] [candidato."db"] veredicto = "opcional" porque = "conectores de base de datos: ninguna imagen los pide" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["iproute2", "linux-pam"] [candidato."dejagnu"] @@ -204,7 +204,7 @@ piden = ["kfilemetadata"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["lsof"] [candidato."editorconfig-core-c"] @@ -232,14 +232,14 @@ piden = ["qtspeech"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["e2fsprogs"] [candidato."gdbm"] veredicto = "opcional" sugerencia = "opcional?" porque = "conectores de base de datos: ninguna imagen los pide" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["python3"] [candidato."git-minimal"] @@ -248,6 +248,7 @@ sugerencia = "nix-ismo?" porque = "variante de empaquetado de nix; hammer ya tiene la receta `git`" perfiles = ["cli"] piden = ["starship"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."glibc"] veredicto = "nix-ismo" @@ -255,6 +256,7 @@ sugerencia = "nix-ismo?" porque = "la libc de nixpkgs asomando por su stdenv; hammer es musl" perfiles = ["cli"] piden = ["go"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."glslang"] veredicto = "opcional" @@ -275,7 +277,7 @@ piden = ["mpfr"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["gnupg"] [candidato."gpgmepp"] @@ -303,7 +305,7 @@ piden = ["wayland"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["sudo"] [candidato."gst-libav"] @@ -350,7 +352,7 @@ piden = ["qtbase"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["flex"] [candidato."hunspell"] @@ -364,7 +366,7 @@ piden = ["sonnet"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["iproute2"] [candidato."jasper"] @@ -406,14 +408,14 @@ piden = ["plasma-workspace"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["pciutils"] [candidato."krb5"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["curl"] [candidato."kuserfeedback"] @@ -427,7 +429,7 @@ piden = ["plasma-workspace"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli", "escritorio-kde"] +perfiles = ["base", "cli", "escritorio-kde"] piden = ["dbus"] [candidato."libappimage"] @@ -448,27 +450,27 @@ piden = ["qtbase"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["iproute2"] [candidato."libbsd"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["shadow"] [candidato."libcap-ng"] veredicto = "opcional" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli", "escritorio-kde"] +perfiles = ["base", "cli", "escritorio-kde"] piden = ["dbus", "util-linux"] [candidato."libclc"] veredicto = "opcional" sugerencia = "opcional?" porque = "Vulkan / compilación de shaders / dispatch GL: no habilitado (mesa se construye sin ellos)" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["mesa"] [candidato."libdatrie"] @@ -495,13 +497,13 @@ piden = ["kwin"] [candidato."libglvnd"] veredicto = "opcional" porque = "Vulkan / compilación de shaders / dispatch GL: no habilitado (mesa se construye sin ellos)" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["libepoxy", "mesa", "qtbase"] [candidato."libidn2"] veredicto = "opcional" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["curl", "iputils"] [candidato."libimobiledevice"] @@ -529,7 +531,7 @@ piden = ["qtsvg"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["iproute2"] [candidato."libpciaccess"] @@ -559,6 +561,7 @@ sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" perfiles = ["cli"] piden = ["curl"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."libpulseaudio"] veredicto = "opcional" @@ -604,7 +607,7 @@ piden = ["qtbase"] [candidato."libunwind"] veredicto = "opcional" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["mesa", "qtmultimedia", "strace"] [candidato."libva-minimal"] @@ -640,7 +643,7 @@ piden = ["qtbase", "xcb-util-cursor"] veredicto = "provisto" provee = "xcb-util-keysyms" porque = "nixpkgs lo separa en un paquete propio; acá lo da la receta `xcb-util-keysyms` (verificado en el store)" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["mesa", "qtbase"] [candidato."libxcb-render-util"] @@ -677,7 +680,7 @@ piden = ["qtbase"] veredicto = "opcional" sugerencia = "hueco?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["linux-pam", "perl", "shadow", "util-linux"] [candidato."libxft"] @@ -746,14 +749,14 @@ piden = ["qtbase"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["libinput"] [candidato."lvm2"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["parted"] [candidato."mariadb-connector-c"] @@ -777,11 +780,18 @@ porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para constr perfiles = ["escritorio-kde"] piden = ["qtbase"] +[candidato."mesa-libclc"] +veredicto = "pendiente" +sugerencia = "opcional?" +porque = "lo pide una sola receta (mesa); mirá si es una feature opcional" +perfiles = ["escritorio-mirada"] +piden = ["mesa"] + [candidato."mesa-libgbm"] veredicto = "provisto" provee = "mesa" porque = "nixpkgs lo separa en un paquete propio; acá lo da la receta `mesa` (verificado en el store)" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["kwin", "mesa", "qtbase"] [candidato."milou"] @@ -794,7 +804,7 @@ piden = ["kwin", "plasma-workspace"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["python3"] [candidato."nghttp2"] @@ -803,26 +813,27 @@ sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" perfiles = ["cli"] piden = ["curl"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."nghttp3"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["curl"] [candidato."ngtcp2"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["curl"] [candidato."openldap"] veredicto = "opcional" sugerencia = "opcional?" porque = "conectores de base de datos: ninguna imagen los pide" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["gnupg"] [candidato."orc"] @@ -870,7 +881,7 @@ piden = ["mesa"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli", "escritorio-kde"] +perfiles = ["base", "cli", "escritorio-kde"] piden = ["util-linux"] [candidato."polkit-qt-1"] @@ -891,7 +902,7 @@ piden = ["kfilemetadata"] veredicto = "opcional" sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["rsync"] [candidato."psqlodbc"] @@ -919,9 +930,16 @@ piden = ["kcoreaddons", "kguiaddons", "knotifications", "kstatusnotifieritem", " veredicto = "nix-ismo" sugerencia = "nix-ismo?" porque = "wrapper de entorno de nix, no un paquete" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["kcoreaddons", "kguiaddons", "knotifications", "kstatusnotifieritem", "kwidgetsaddons", "kxmlgui", "libinput"] +[candidato."python3-3.14.7-env"] +veredicto = "pendiente" +sugerencia = "nix-ismo?" +porque = "el nombre tiene forma de andamiaje de nixpkgs (env/minimal/wrapper)" +perfiles = ["escritorio-mirada"] +piden = ["libinput"] + [candidato."pyyaml"] veredicto = "opcional" sugerencia = "opcional?" @@ -981,6 +999,7 @@ sugerencia = "opcional?" porque = "helper del stdenv de nixpkgs" perfiles = ["cli"] piden = ["jq"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."rhash"] veredicto = "opcional" @@ -1061,14 +1080,14 @@ piden = ["libcanberra", "qtbase"] veredicto = "opcional" sugerencia = "nix-ismo?" porque = "hammer usa arje-zero como PID1; ninguna imagen quiere systemd" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["dbus", "mako"] [candidato."systemd-minimal-libs"] veredicto = "opcional" sugerencia = "nix-ismo?" porque = "hammer usa arje-zero como PID1; ninguna imagen quiere systemd" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["dhcpcd", "htop", "libinput", "linux-pam", "mesa", "qtbase", "seatd", "util-linux"] [candidato."taglib"] @@ -1082,27 +1101,27 @@ piden = ["kfilemetadata"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["shadow"] [candidato."texinfo"] veredicto = "opcional" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["e2fsprogs", "git", "gnupg"] [candidato."tinyxxd"] veredicto = "opcional" sugerencia = "opcional?" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["dosfstools"] [candidato."tpm2-tss"] veredicto = "opcional" sugerencia = "opcional?" porque = "red/seguridad opcional: nixpkgs la habilita por defecto, hammer construye sin ella" -perfiles = ["cli"] +perfiles = ["base", "cli"] piden = ["gnupg"] [candidato."uname"] @@ -1112,6 +1131,7 @@ provee = "coreutils" porque = "nixpkgs lo separa en un paquete propio; acá lo da la receta `coreutils` (verificado en el store)" perfiles = ["cli"] piden = ["git"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."unixodbc"] veredicto = "opcional" @@ -1145,7 +1165,7 @@ veredicto = "provisto" sugerencia = "hueco?" provee = "wayland" porque = "nixpkgs lo separa en un paquete propio; acá lo da la receta `wayland` (verificado en el store)" -perfiles = ["escritorio-kde", "escritorio-mirada"] +perfiles = ["escritorio-kde"] piden = ["kscreenlocker", "libxkbcommon", "mako", "mesa", "qtbase", "wayland", "wayland-protocols"] [candidato."xclip"] @@ -1165,7 +1185,7 @@ piden = ["libxkbcommon"] [candidato."xmlto"] veredicto = "opcional" porque = "tooling de docs/tests/build que nixpkgs usa y nuestras recetas no" -perfiles = ["cli", "escritorio-kde", "escritorio-mirada"] +perfiles = ["base", "cli", "escritorio-kde", "escritorio-mirada"] piden = ["git", "wayland"] [candidato."xvfb"] @@ -1188,3 +1208,4 @@ sugerencia = "opcional?" porque = "nixpkgs la habilita; ninguna receta de hammer la necesitó para construir (todas las que la piden ya están selladas)" perfiles = ["cli"] piden = ["rsync"] +ausente = true # ya no aparece en el último barrido de la frontera diff --git a/docs/state/seed-frontera.json b/docs/state/seed-frontera.json index 8abdf02c..58b80f0b 100644 --- a/docs/state/seed-frontera.json +++ b/docs/state/seed-frontera.json @@ -1,7 +1,7 @@ { "advertencia": "HIPÓTESIS desde metadata de nixpkgs. Cada candidato es (a) dep opcional que hammer no habilitó, (b) nix-ismo por filtrar, o (c) hueco real. Clasificar a mano; NO promover a receta automáticamente.", "perfiles": { - "cli": { + "base": { "candidatos": { "acl": [ "rsync" @@ -42,11 +42,154 @@ "gdbm": [ "python3" ], - "git-minimal": [ - "starship" + "gnutls": [ + "gnupg" ], - "glibc": [ - "go" + "groff": [ + "sudo" + ], + "help2man": [ + "flex" + ], + "iptables": [ + "iproute2" + ], + "kmod": [ + "pciutils" + ], + "krb5": [ + "curl" + ], + "libapparmor": [ + "dbus" + ], + "libbpf": [ + "iproute2" + ], + "libbsd": [ + "shadow" + ], + "libcap-ng": [ + "dbus", + "util-linux" + ], + "libidn2": [ + "curl", + "iputils" + ], + "libmnl": [ + "iproute2" + ], + "libunwind": [ + "strace" + ], + "libxcrypt": [ + "perl", + "shadow", + "util-linux" + ], + "lvm2": [ + "parted" + ], + "mpdecimal": [ + "python3" + ], + "nghttp3": [ + "curl" + ], + "ngtcp2": [ + "curl" + ], + "openldap": [ + "gnupg" + ], + "po4a": [ + "util-linux" + ], + "popt": [ + "rsync" + ], + "systemd-minimal": [ + "dbus" + ], + "systemd-minimal-libs": [ + "dhcpcd", + "util-linux" + ], + "tcb": [ + "shadow" + ], + "texinfo": [ + "e2fsprogs", + "git", + "gnupg" + ], + "tinyxxd": [ + "dosfstools" + ], + "tpm2-tss": [ + "gnupg" + ], + "xmlto": [ + "git" + ] + }, + "recetas_sembradas": 57, + "sin_attr_en_nixpkgs": [ + "bzip2-shared", + "ca-certificates", + "libusb", + "linux-headers", + "make", + "ncurses-shared", + "openssl-threads", + "procps-ng", + "readline-shared", + "sed", + "sqlite-shared", + "xz-shared" + ] + }, + "cli": { + "candidatos": { + "acl": [ + "rsync" + ], + "adns": [ + "gnupg" + ], + "audit": [ + "dbus" + ], + "autoconf": [ + "util-linux" + ], + "autoconf-archive": [ + "python3" + ], + "automake": [ + "util-linux" + ], + "bluez-headers": [ + "python3" + ], + "check": [ + "parted" + ], + "cmocka": [ + "shadow" + ], + "db": [ + "iproute2" + ], + "ed": [ + "lsof" + ], + "fuse": [ + "e2fsprogs" + ], + "gdbm": [ + "python3" ], "gnutls": [ "gnupg" @@ -89,9 +232,6 @@ "libmnl": [ "iproute2" ], - "libpsl": [ - "curl" - ], "libunwind": [ "strace" ], @@ -106,9 +246,6 @@ "mpdecimal": [ "python3" ], - "nghttp2": [ - "curl" - ], "nghttp3": [ "curl" ], @@ -127,9 +264,6 @@ "popt": [ "rsync" ], - "remove-references-to": [ - "jq" - ], "systemd-minimal": [ "dbus" ], @@ -152,27 +286,27 @@ "tpm2-tss": [ "gnupg" ], - "uname": [ - "git" - ], "xclip": [ "gitui" ], "xmlto": [ "git" - ], - "xxhash": [ - "rsync" ] }, - "recetas_sembradas": 74, + "recetas_sembradas": 80, "sin_attr_en_nixpkgs": [ + "bzip2-shared", "ca-certificates", "libusb", "linux-headers", "make", + "ncurses-shared", + "openssl-threads", "procps-ng", - "sed" + "readline-shared", + "sed", + "sqlite-shared", + "xz-shared" ] }, "escritorio-kde": { @@ -722,12 +856,6 @@ "help2man": [ "flex" ], - "libclc": [ - "mesa" - ], - "libglvnd": [ - "mesa" - ], "libpciaccess": [ "libdrm" ], @@ -740,11 +868,9 @@ "libwacom": [ "libinput" ], - "libxcb-keysyms": [ - "mesa" - ], "libxcrypt": [ - "linux-pam" + "linux-pam", + "perl" ], "libxrandr": [ "mesa" @@ -758,10 +884,7 @@ "llvm": [ "mesa" ], - "lua": [ - "libinput" - ], - "mesa-libgbm": [ + "mesa-libclc": [ "mesa" ], "mpdecimal": [ @@ -773,7 +896,7 @@ "pycparser": [ "mesa" ], - "python3-3.14.6-env": [ + "python3-3.14.7-env": [ "libinput" ], "pyyaml": [ @@ -807,13 +930,6 @@ "w3m": [ "linux-pam" ], - "wayland-scanner": [ - "libxkbcommon", - "mako", - "mesa", - "wayland", - "wayland-protocols" - ], "xkbcomp": [ "libxkbcommon" ], @@ -824,15 +940,24 @@ "libxkbcommon" ] }, - "recetas_sembradas": 40, + "recetas_sembradas": 41, "sin_attr_en_nixpkgs": [ + "bzip2-shared", + "expat-shared", + "libffi-shared", "make", "markupsafe", "mesa-swrast", "mirada-compositor", "mirada-ctl", "mirada-greeter", - "packaging" + "ncurses-shared", + "openssl-threads", + "packaging", + "readline-shared", + "sqlite-shared", + "xz-shared", + "zlib-shared" ] } }, diff --git a/scripts/seed-graph.py b/scripts/seed-graph.py index 5e24acab..b1e83885 100755 --- a/scripts/seed-graph.py +++ b/scripts/seed-graph.py @@ -41,7 +41,13 @@ import targets as targets_mod TRANSITIVO = "--transitivo" in sys.argv # comparar CLAUSURA sembrada vs deps aplanadas de hammer NIXPKGS = os.environ.get("NIXPKGS", "nixpkgs") -NIX_ROOT = os.environ.get("NIX_ROOT", os.path.expanduser("~/.nixstore")) +# El store de nix va al `work/` del repo, NO a `~/.nixstore` (2026-09-08). En gioser `$HOME` +# vive en `/` (74 G, 21 libres) y el volumen tiene 126: llenar `/` no rompe una tanda, rompe +# la MÁQUINA. Y `work/` ya es el sitio de lo pesado-y-regenerable, así que la poda lo alcanza. +# Medido: el store de un eval son ~8 MB; lo gordo es la caché git de nixpkgs (~69 MB), que +# nix pone en `$XDG_CACHE_HOME` y por eso NO la gobierna esta variable — en gioser está +# mudada al volumen con un enlace (`~/.cache/nix -> /mnt/vvv/nix-cache`). +NIX_ROOT = os.environ.get("NIX_ROOT", str(ROOT / "work/nixstore")) OUT = ROOT / "docs/state/seed-edges.json" FRONTERA = ROOT / "docs/state/seed-frontera.json" LOTE = 120 # nombres por proceso de `nix eval` (uno solo evalúa 6 en 0.7s; el costo es el arranque)