Interesting. On Darwin I can:

$ nix run -f <(echo 'with import <nixpkgs> {}; ffmpeg.override {libaomSupport = true;}')

and it Just Works.

On Linux if I do the same thing I get:

error: getting status of '/dev/fd/pipe:[7142756]': No such file or directory
Follow

@clacke Could it be something related to different shells being used, like in one case you have bash and in the other case some other shell, maybe they handle things like parentheses and quotation marks differently?

Β· Web Β· 1 Β· 0 Β· 0
@eliasr They're both bash, I'll verify that it differs even when using Nix's bash, but apparently bash or nix behaves differently on the two platforms.

It wouldn't be the first time, different kernels and other system dependencies result in different workarounds.

As another example, Nix has handled some regex corner cases differently in the nix language before because the libstdc++ was different between clang (Darwin) and gcc (Linux)!

I would like it if nix run/build worked with process substitutions on Linux though. And I'm surprised, if it would break anywhere I would have expected it to break on Darwin rather than on Linux.
Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml