Commit Graph

4 Commits (963576f8dad1d087c77a4bf3c00fa74aa060115d)

Author SHA1 Message Date
noah metz e51cb78456 Anchor channels.d path to channels.scm's own location, not CWD
"./channels.d" only resolved because guix pull -C channels.scm happened
to be invoked with CWD == this file's directory. Once guix pull loads
this file as a plain module (e.g. from the store, to build its package
cache), CWD is unrelated to the checkout, so scandir returned #f and map
blew up with "Not a list: #f". Use (current-filename) instead so it works
regardless of how/where this file gets loaded from.
2026-07-28 22:05:52 -06:00
noah metz ff382c6056 Fix guix pull: give channels.scm/channels.d/*.scm real define-module clauses
guix pull compiles every .scm file under a channel's checkout as an
ordinary package module and then loads each by its path-derived module
name to build the package cache. channels.scm and channels.d/*.scm never
had define-module clauses -- they relied on guix pull -C's implicit (guix
channels) import, which only applies to the -C argument itself, not to
files swept up as part of the channel's own module tree. That produced
first an unbound-variable error on `channel` at compile time, and after
adding plain use-modules imports, a "no code for module" error at
package-cache load time. Match the dual-purpose pattern already used by
metznet/machines/*.scm: a real define-module (so the module system finds
it under its expected name) plus a use-module for (guix channels) (so
guix pull -C channels.scm still works when it loads these directly).
2026-07-28 21:57:52 -06:00
noah metz 7a6a30f515 Fix channel 2026-07-28 21:39:03 -06:00
noah metz 2721615497 Move channels.scm, scripts/, docker/ in from the separate system repo
That repo (system) is being deprecated in favor of keeping deploy
tooling alongside the channel it deploys -- cloning this repo alone is
now enough to either build docker images for local testing (docker/,
docker-compose.yml, scripts/guix-docker.sh) or reconfigure a real
machine (channels.scm registers this channel plus nonguix/games/guix;
scripts/qemu.sh and network.sh for the KVM-based workflow on real
Linux hosts).

docker-compose.yml and scripts/guix-docker.sh updated for the merge:
no more local-channel indirection (docker/channels.local.scm, a
file:// bind mount to a sibling repo) -- guix system docker-image now
passes -L /workspace directly against this checkout, so uncommitted
edits are picked up immediately without a commit+pull round-trip.
2026-07-28 20:10:51 -06:00