Good Evening,
I’m trying to use my home-manager config with nix-on-droid, which (badly explained) seems to host a userspace proot nix instance on android, accessed through termux, in order to give android users access to nixpkgs. It has support for home-manager and I’ve been trying to build my existing home-manager config.
However, my build is failing with the error i686 package set can only be used with the x86 family
. This doesn’t make sense to me, as I’m using nixpkgs aarch64-linux. The specific package that’s failing to build is steam-run, which is confusing in itself as this is not specified anywhere I can tell to be installed in my config. My config uses some custom home-manager modules, which makes tracing less simple, but as far as I can tell, steam-run shouldn’t be being installed at all, let alone as an i686-linux
build. Any help fixing this would be appreciated.
Logs:
Summary
bash-5.2$ nix-on-droid switch --flake . --show-trace
Building activation package...
evaluation warning: You are using
Home Manager version 24.11 and
Nixpkgs version 25.05.
Using mismatched versions is likely to cause errors and unexpected
behavior. It is therefore highly recommended to use a release of Home
Manager that corresponds with your chosen release of Nixpkgs.
If you insist then you can disable this warning by adding
home.enableNixpkgsReleaseCheck = false;
to your configuration.
error:
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'nix-on-droid-generation'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'buildCommand' of derivation 'nix-on-droid-generation'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/trivial-builders/default.nix:59:17:
58| enableParallelBuilding = true;
59| inherit buildCommand name;
| ^
60| passAsFile = [ "buildCommand" ]
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:44:19:
43| value = commonAttrs // {
44| outPath = builtins.getAttr outputName strict;
| ^
45| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'activation-script'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'text' of derivation 'activation-script'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/trivial-builders/default.nix:102:17:
101| ({
102| inherit text executable checkPhase allowSubstitutes preferLocalBuild;
| ^
103| passAsFile = [ "text" ]
… from call site
at /nix/store/3wqs0zryk11j09mhllxsnnaxpswvjfnp-source/modules/build/activation.nix:48:7:
47| ${mkActivationCmds cfg.activationBefore}
48| ${mkActivationCmds cfg.activation}
| ^
49| ${mkActivationCmds cfg.activationAfter}
… while calling 'mkActivationCmds'
at /nix/store/3wqs0zryk11j09mhllxsnnaxpswvjfnp-source/modules/build/activation.nix:25:22:
24|
25| mkActivationCmds = activation: concatStringsSep "\n" (
| ^
26| mapAttrsToList
… while calling the 'concatStringsSep' builtin
at /nix/store/3wqs0zryk11j09mhllxsnnaxpswvjfnp-source/modules/build/activation.nix:25:34:
24|
25| mkActivationCmds = activation: concatStringsSep "\n" (
| ^
26| mapAttrsToList
… while calling anonymous lambda
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/lib/attrsets.nix:1095:10:
1094| attrs:
1095| map (name: f name attrs.${name}) (attrNames attrs);
| ^
1096|
… from call site
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/lib/attrsets.nix:1095:16:
1094| attrs:
1095| map (name: f name attrs.${name}) (attrNames attrs);
| ^
1096|
… while calling anonymous lambda
at /nix/store/3wqs0zryk11j09mhllxsnnaxpswvjfnp-source/modules/build/activation.nix:27:14:
26| mapAttrsToList
27| (name: value: ''
| ^
28| noteEcho "Activating ${name}"
… while evaluating the attribute 'installPackages'
at /nix/store/3wqs0zryk11j09mhllxsnnaxpswvjfnp-source/modules/environment/path.nix:46:5:
45|
46| build.activation.installPackages = ''
| ^
47| if [[ -e "${config.user.home}/.nix-profile/manifest.json" ]]; then
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:44:19:
43| value = commonAttrs // {
44| outPath = builtins.getAttr outputName strict;
| ^
45| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'nix-on-droid-path'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'passAsFile' of derivation 'nix-on-droid-path'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/trivial-builders/default.nix:60:9:
59| inherit buildCommand name;
60| passAsFile = [ "buildCommand" ]
| ^
61| ++ (derivationArgs.passAsFile or [ ]);
… while evaluating the attribute 'passAsFile'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:87:5:
86| # XXX: The size is somewhat arbitrary
87| passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
| ^
88| }
… while evaluating a branch condition
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:87:18:
86| # XXX: The size is somewhat arbitrary
87| passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
| ^
88| }
… in the argument of the not operator
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:87:48:
86| # XXX: The size is somewhat arbitrary
87| passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
| ^
88| }
… while calling the 'lessThan' builtin
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:87:48:
86| # XXX: The size is somewhat arbitrary
87| passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
| ^
88| }
… while calling the 'stringLength' builtin
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:87:21:
86| # XXX: The size is somewhat arbitrary
87| passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
| ^
88| }
… while calling the 'toJSON' builtin
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:82:12:
81| nativeBuildInputs buildInputs;
82| pkgs = builtins.toJSON chosenOutputs;
| ^
83| extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure);
… while evaluating list element at index 29
… while evaluating attribute 'paths'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:57:5:
56| chosenOutputs = map (drv: {
57| paths =
| ^
58| # First add the usual output(s): respect if user has chosen explicitly,
… while evaluating list element at index 0
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/buildenv/default.nix:57:5:
56| chosenOutputs = map (drv: {
57| paths =
| ^
58| # First add the usual output(s): respect if user has chosen explicitly,
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:44:19:
43| value = commonAttrs // {
44| outPath = builtins.getAttr outputName strict;
| ^
45| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'steam-run'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'buildCommand' of derivation 'steam-run'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/trivial-builders/default.nix:59:17:
58| enableParallelBuilding = true;
59| inherit buildCommand name;
| ^
60| passAsFile = [ "buildCommand" ]
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:44:19:
43| value = commonAttrs // {
44| outPath = builtins.getAttr outputName strict;
| ^
45| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'steam-run-bwrap'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'text' of derivation 'steam-run-bwrap'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/trivial-builders/default.nix:102:17:
101| ({
102| inherit text executable checkPhase allowSubstitutes preferLocalBuild;
| ^
103| passAsFile = [ "text" ]
… from call site
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/build-fhsenv-bubblewrap/default.nix:316:43:
315|
316| bin = writeShellScript "${name}-bwrap" (bwrapCmd {
| ^
317| initArgs = ''"$@"'';
… while calling 'bwrapCmd'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/build-fhsenv-bubblewrap/default.nix:165:5:
164| bwrapCmd =
165| {
| ^
166| initArgs ? "",
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:44:19:
43| value = commonAttrs // {
44| outPath = builtins.getAttr outputName strict;
| ^
45| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'steam-run-fhsenv-rootfs'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'exportReferencesGraph' of derivation 'steam-run-fhsenv-rootfs'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix:190:5:
189| __structuredAttrs = true;
190| exportReferencesGraph.graph = lib.concatMap (p: p.paths) allPaths;
| ^
191| inherit paths paths32 isMultiBuild includeClosures;
… while evaluating attribute 'graph'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix:190:5:
189| __structuredAttrs = true;
190| exportReferencesGraph.graph = lib.concatMap (p: p.paths) allPaths;
| ^
191| inherit paths paths32 isMultiBuild includeClosures;
… while evaluating list element at index 62
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix:190:5:
189| __structuredAttrs = true;
190| exportReferencesGraph.graph = lib.concatMap (p: p.paths) allPaths;
| ^
191| inherit paths paths32 isMultiBuild includeClosures;
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:44:19:
43| value = commonAttrs // {
44| outPath = builtins.getAttr outputName strict;
| ^
45| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:34:12:
33|
34| strict = derivationStrict drvAttrs;
| ^
35|
… while evaluating derivation 'glibc-multi-2.40-36'
whose name attribute is located at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'buildCommand' of derivation 'glibc-multi-2.40-36'
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/build-support/trivial-builders/default.nix:59:17:
58| enableParallelBuilding = true;
59| inherit buildCommand name;
| ^
60| passAsFile = [ "buildCommand" ]
… while calling the 'throw' builtin
at /nix/store/yw6kg4rb9v8s3ypjbpspig5r81m4lr5s-source/pkgs/top-level/stage.nix:265:12:
264| };
265| } else throw "i686 Linux package set can only be used with the x86 family.";
| ^
266|
error: i686 Linux package set can only be used with the x86 family.
My config can be found here