R""(
Run the default app from the blender-bin flake:
Run a non-default app from the blender-bin flake:
Tip: you can find apps provided by this flake by running nix flake show blender-bin.
Run vim from the nixpkgs flake:
Note that vim (as of the time of writing of this page) is not an app but a package. Thus, Nix runs the eponymous file from the vim package.
Run vim with arguments:
nix run builds and runs installable, which must evaluate to an app or a regular Nix derivation.
If installable evaluates to an app (see below), it executes the program specified by the app definition.
If installable evaluates to a derivation, it will try to execute the program <out>/bin/<name>, where out is the primary output store path of the derivation, and name is the first of the following that exists:
meta.mainProgram attribute of the derivation.pname attribute of the derivation.name attribute of the derivation.For instance, if name is set to hello-1.10, nix run will run $out/bin/hello.
If no flake output attribute is given, nix run tries the following flake output attributes:
apps.<system>.defaultpackages.<system>.defaultIf an attribute name is given, nix run tries the following flake output attributes:
apps.<system>.<name>packages.<system>.<name>legacyPackages.<system>.<name>An app is specified by a flake output attribute named apps.<system>.<name>. It looks like this:
The only supported attributes are:
type (required): Must be set to app.program (required): The full path of the executable to run. It must reside in the Nix store.meta.description (optional): A description of the app.)""