As experienced by Luks6655, you can't do (define inferior (inferior-with-channels CHANNELS)) on the top-level of a channel module. I think the issue is that inferior-with-channels is eager (not lazy), so it cannot be used in a channel on the top-level, as builds (including channel builds) are isolated from the network and have limited access to the file system. If it would be made lazy, then (define inferior (inferior-with-channels CHANNELS)) (define-public p (package [...] (inputs (list (lookup-inferior-package inferior "hello"))))) should, in theory, work (unverified). Greetings, Maxime.