commit e559389ff2759dbcc748d2382e633ce073e144d3 from: ale date: Sun Aug 2 00:31:50 2026 UTC Renombra channels.scm -> channels.scm.example Causa raíz real del "Unbound variable: channel" / "no code for module (channels)" que venía persiguiendo: Guix escanea cualquier .scm suelto en la raíz del repo como módulo potencial DEL canal guixdots. Este archivo no es contenido del canal -- es la lista de canales para invocar `guix pull -C`. Con extensión no-.scm, Guix lo ignora al escanear y el problema desaparece. commit - 57655fdfab1f61f2f159bc3bfe018e380d002ad9 commit + e559389ff2759dbcc748d2382e633ce073e144d3 blob - 1f06171b284fcb8c6df24ea9da2c2e880b90af3b (mode 644) blob + /dev/null --- channels.scm +++ /dev/null @@ -1,114 +0,0 @@ -;;; channels.scm --- lista de canales para reproducir este sistema -;;; -;;; Uso (equivalente a `nix flake update`+pin del flake.lock de /nixdots): -;;; guix pull -C channels.scm -;;; -;;; nonguix: driver propietario de Nvidia (nvidia-driver-580, rama legacy -;;; para Pascal), Steam, firmware no libre. Introducción copiada tal cual -;;; del README oficial de nonguix (gitlab.com/nonguix/nonguix) para que -;;; `guix pull` pueda verificar la firma del canal desde el primer commit. -;;; -;;; guixdots: este mismo canal (paquetes personales -- LibrePods, ClamUI, -;;; slides, nezzontli-ctl -- ver ale/packages/*.scm). URL del espejo -;;; PÚBLICO de GitHub, no el Forgejo real (Tailscale-only) -- mismo -;;; bootstrap que /nixdots (ver su README, "Bootstrap en una PC nueva"): -;;; una PC recién instalada no tiene Tailscale andando todavía, así que -;;; hace falta el espejo sin autenticación primero. El Forgejo real -;;; actualiza este espejo solo -- no hace falta pushear ahí a mano. -;;; Introduction: primer commit real de este canal, firmado con la misma -;;; llave GPG que firma todo en /nixdots. - -;; Rosenthal: canal grande y activo (codeberg.org/hako/rosenthal, 1256+ -;;; commits, confirmado en uso real de producción por otro usuario -- -;;; ver NOTES.md) -- de acá sale `tailscale-service-type`, ausente en el -;;; canal oficial `guix`. También es donde vive el canal propio de -;;; Noctalia (noctalia.scm, no usado en esta config -- se optó por -;;; DankMaterialShell), por si algún día se reconsidera. -;;; -;;; saayix, abbe, bugchan, small-guix: canales de terceros agregados a -;;; pedido explícito para tapar huecos puntuales de paquetes que no están -;;; en el canal oficial `guix` ni en nonguix/Rosenthal -- ver -;;; home-configuration.scm para qué exactamente sale de cada uno. Todas -;;; las introductions (commit + fingerprint) copiadas de -;;; git.sr.ht/~whereiseveryone/toys/channels.scm (el propio índice de -;;; toys.whereis.social publica su channels.scm completo con -;;; introductions ya armadas -- no son inventadas, pero SÍ son de -;;; mantenedores individuales, no del proyecto Guix -- ver el veredicto -;;; de confiabilidad en NOTES.md sobre toys.whereis.social). -;;; -;;; use-modules explícito: aunque `guix pull -C` ya provee `channel`/ -;;; `%default-channels` al evaluar este archivo con -C, Guix TAMBIÉN -;;; escanea cualquier .scm en la raíz del propio repo como módulo -;;; potencial del canal guixdots -- sin esto, esa segunda pasada de -;;; compilación fallaba con "Unbound variable: channel" (confirmado en -;;; vivo, 2026-08-01). -(use-modules (guix channels)) - -(cons* (channel - (name 'saayix) ; yazi, zen-browser-bin - (url "https://codeberg.org/look/saayix") - (branch "main") - (introduction - (make-channel-introduction - "12540f593092e9a177eb8a974a57bb4892327752" - (openpgp-fingerprint - "3FFA 7335 973E 0A49 47FC 0A8C 38D5 96BE 07D3 34AB")))) - (channel - (name 'abbe) ; oh-my-zsh - (url "https://codeberg.org/group/guix-modules") - (branch "mainline") - (introduction - (make-channel-introduction - "8c754e3a4b49af7459a8c99de130fa880e5ca86a" - (openpgp-fingerprint - "F682 CDCC 39DC 0FEA E116 20B6 C746 CFA9 E74F A4B0")))) - (channel - (name 'bugchan) ; powerlevel10k - (url "https://gitlab.com/bigbookofbug/bugchan") - (branch "master") - (introduction - (make-channel-introduction - "c2ed428f3a41c1fce149b245253f9f5382f42efd" - (openpgp-fingerprint - "ACF7 CA25 C886 9B8A 1669 67D7 7350 3372 E2C6 3BCF")))) - (channel - (name 'small-guix) ; idea-ultimate (versión vieja, ~2023.2 -- ver NOTES.md) - (url "https://codeberg.org/fishinthecalculator/small-guix") - (branch "main") - (introduction - (make-channel-introduction - "f260da13666cd41ae3202270784e61e062a3999c" - (openpgp-fingerprint - "8D10 60B9 6BB8 292E 829B 7249 AED4 1CC1 93B7 01E2")))) - (channel - (name 'rosenthal) - (url "https://codeberg.org/hako/rosenthal") - (branch "trunk") ; NO "master" -- confirmado con guix real, "master" no existe en este repo - (introduction - (make-channel-introduction - "7677db76330121a901604dfbad19077893865f35" - (openpgp-fingerprint - "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))) - (channel - (name 'nonguix) - (url "https://gitlab.com/nonguix/nonguix") - (introduction - (make-channel-introduction - "897c1a470da759236cc11798f4e0a5f7d4d59fbc" - (openpgp-fingerprint - "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) - (channel - (name 'guixdots) - (url "https://github.com/Richard7987/guixdots.git") - (branch "main") ; NO "master" -- el mirror de GitHub usa "main" por default - ;; Introduction apunta al commit donde .guix-authorizations quedó - ;; bien formado (378f832), NO al primer commit real del repo - ;; (846c407) -- los commits entre medio no tienen el archivo (o lo - ;; tienen mal formado), y la cadena de autenticación de guix pull - ;; necesita que exista y sea válido desde el punto de partida. - (introduction - (make-channel-introduction - "378f832398651bbd7efeeca96b0ca7685fb973ee" - (openpgp-fingerprint - "91CA 581F 7B78 01E8 8673 D228 DBD5 F61D 8A0A 14D7")))) - %default-channels) blob - /dev/null blob + b971ae43eeb479b1c22bcb7820ced2d12ab64869 (mode 644) --- /dev/null +++ channels.scm.example @@ -0,0 +1,114 @@ +;;; channels.scm.example --- lista de canales para reproducir este sistema +;;; +;;; Uso (equivalente a `nix flake update`+pin del flake.lock de /nixdots): +;;; guix pull -C channels.scm.example +;;; +;;; Extensión NO-.scm a propósito: Guix escanea cualquier archivo .scm +;;; suelto en la raíz de un repo-canal como módulo potencial del canal +;;; guixdots -- este archivo no lo es (es la lista de canales para +;;; INVOCAR guix pull, no contenido del canal en sí), y con extensión +;;; .scm real causaba "no code for module (channels)"/"Unbound variable: +;;; channel" al intentar compilarlo como si fuera uno (confirmado en +;;; vivo, 2026-08-01, tras varias rondas de diagnóstico). +;;; +;;; nonguix: driver propietario de Nvidia (nvidia-driver-580, rama legacy +;;; para Pascal), Steam, firmware no libre. Introducción copiada tal cual +;;; del README oficial de nonguix (gitlab.com/nonguix/nonguix) para que +;;; `guix pull` pueda verificar la firma del canal desde el primer commit. +;;; +;;; guixdots: este mismo canal (paquetes personales -- LibrePods, ClamUI, +;;; slides, nezzontli-ctl -- ver ale/packages/*.scm). URL del espejo +;;; PÚBLICO de GitHub, no el Forgejo real (Tailscale-only) -- mismo +;;; bootstrap que /nixdots (ver su README, "Bootstrap en una PC nueva"): +;;; una PC recién instalada no tiene Tailscale andando todavía, así que +;;; hace falta el espejo sin autenticación primero. El Forgejo real +;;; actualiza este espejo solo -- no hace falta pushear ahí a mano. +;;; Introduction: primer commit real de este canal, firmado con la misma +;;; llave GPG que firma todo en /nixdots. + +;; Rosenthal: canal grande y activo (codeberg.org/hako/rosenthal, 1256+ +;;; commits, confirmado en uso real de producción por otro usuario -- +;;; ver NOTES.md) -- de acá sale `tailscale-service-type`, ausente en el +;;; canal oficial `guix`. También es donde vive el canal propio de +;;; Noctalia (noctalia.scm, no usado en esta config -- se optó por +;;; DankMaterialShell), por si algún día se reconsidera. +;;; +;;; saayix, abbe, bugchan, small-guix: canales de terceros agregados a +;;; pedido explícito para tapar huecos puntuales de paquetes que no están +;;; en el canal oficial `guix` ni en nonguix/Rosenthal -- ver +;;; home-configuration.scm para qué exactamente sale de cada uno. Todas +;;; las introductions (commit + fingerprint) copiadas de +;;; git.sr.ht/~whereiseveryone/toys/channels.scm (el propio índice de +;;; toys.whereis.social publica su channels.scm completo con +;;; introductions ya armadas -- no son inventadas, pero SÍ son de +;;; mantenedores individuales, no del proyecto Guix -- ver el veredicto +;;; de confiabilidad en NOTES.md sobre toys.whereis.social). + +(cons* (channel + (name 'saayix) ; yazi, zen-browser-bin + (url "https://codeberg.org/look/saayix") + (branch "main") + (introduction + (make-channel-introduction + "12540f593092e9a177eb8a974a57bb4892327752" + (openpgp-fingerprint + "3FFA 7335 973E 0A49 47FC 0A8C 38D5 96BE 07D3 34AB")))) + (channel + (name 'abbe) ; oh-my-zsh + (url "https://codeberg.org/group/guix-modules") + (branch "mainline") + (introduction + (make-channel-introduction + "8c754e3a4b49af7459a8c99de130fa880e5ca86a" + (openpgp-fingerprint + "F682 CDCC 39DC 0FEA E116 20B6 C746 CFA9 E74F A4B0")))) + (channel + (name 'bugchan) ; powerlevel10k + (url "https://gitlab.com/bigbookofbug/bugchan") + (branch "master") + (introduction + (make-channel-introduction + "c2ed428f3a41c1fce149b245253f9f5382f42efd" + (openpgp-fingerprint + "ACF7 CA25 C886 9B8A 1669 67D7 7350 3372 E2C6 3BCF")))) + (channel + (name 'small-guix) ; idea-ultimate (versión vieja, ~2023.2 -- ver NOTES.md) + (url "https://codeberg.org/fishinthecalculator/small-guix") + (branch "main") + (introduction + (make-channel-introduction + "f260da13666cd41ae3202270784e61e062a3999c" + (openpgp-fingerprint + "8D10 60B9 6BB8 292E 829B 7249 AED4 1CC1 93B7 01E2")))) + (channel + (name 'rosenthal) + (url "https://codeberg.org/hako/rosenthal") + (branch "trunk") ; NO "master" -- confirmado con guix real, "master" no existe en este repo + (introduction + (make-channel-introduction + "7677db76330121a901604dfbad19077893865f35" + (openpgp-fingerprint + "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))) + (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + (channel + (name 'guixdots) + (url "https://github.com/Richard7987/guixdots.git") + (branch "main") ; NO "master" -- el mirror de GitHub usa "main" por default + ;; Introduction apunta al commit donde .guix-authorizations quedó + ;; bien formado (378f832), NO al primer commit real del repo + ;; (846c407) -- los commits entre medio no tienen el archivo (o lo + ;; tienen mal formado), y la cadena de autenticación de guix pull + ;; necesita que exista y sea válido desde el punto de partida. + (introduction + (make-channel-introduction + "378f832398651bbd7efeeca96b0ca7685fb973ee" + (openpgp-fingerprint + "91CA 581F 7B78 01E8 8673 D228 DBD5 F61D 8A0A 14D7")))) + %default-channels)