问题描述
我在尝试检查薄片时遇到上述错误;我正在尝试在非 NixOS 系统上使用 flake-compat
以与 home-manager
兼容。
这是导致以下跟踪的 flake:
error: value is a function while a set was expected
at /nix/store/l22dazwy8cgxdvndhq45br310nap92x3-source/etc/nixos/flake.nix:167:136:
166|
167| outputs = inputs@{ self,nix,nixpkgs,flake-utils,flake-compat,... }: with builtins; with nixpkgs.lib; with flake-utils.lib; let
|
^
168|
… while evaluating 'outputs'
at /nix/store/l22dazwy8cgxdvndhq45br310nap92x3-source/etc/nixos/flake.nix:167:15:
166|
167| outputs = inputs@{ self,... }: with builtins; with nixpkgs.lib; with flake-utils.lib; let
| ^
168|
… from call site
at «string»:45:21:
44|
45| outputs = flake.outputs (inputs // { self = result; });
| ^
46|
… while evaluating anonymous lambda
at «string»:10:13:
9| builtins.mapAttrs
10| (key: node:
| ^
11| let
… from call site
… while evaluating the attribute 'root'
… while evaluating anonymous lambda
at «string»:2:23:
1|
2| lockFileStr: rootSrc: rootSubdir:
| ^
3|
… from call site
很遗憾,我无法提供 minimal reproducible example
,因为我不知道此错误的来源。
解决方法
事实证明,我的 lib
值实际上是一个函数;不幸的是,由于 nix flakes
仍然不稳定,它并没有完全显示发生这种情况的位置。