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