nix3-bundle - Man Page
bundle an application so that it works outside of the Nix store
Warning
This program is experimental and its interface is subject to change.
Synopsis
nix bundle [option…] installable
Examples
- Bundle Hello:
# nix bundle nixpkgs#hello # ./hello Hello, world!
- Bundle a specific version of Nix:
# nix bundle github:NixOS/nix/e3ddffb27e5fc37a209cfd843c6f7f6a9460a8ec # ./nix --version nix (Nix) 2.4pre20201215_e3ddffb
- Bundle a Hello using a specific bundler:
# nix bundle --bundler github:NixOS/bundlers#toDockerImage nixpkgs#hello # docker load < hello-2.10.tar.gz # docker run hello-2.10:latest hello Hello, world!
Description
nix bundle, by default, packs the closure of the installable into a single self-extracting executable. See the bundlers homepage for more details.
Note
This command only works on Linux.
Flake output attributes
If no flake output attribute is given, nix bundle tries the following flake output attributes:
bundlers.<system>.default
If an attribute name is given, nix bundle tries the following flake output attributes:
bundlers.<system>.<name>
Bundlers
A bundler is specified by a flake output attribute named bundlers.<system>.<name>. It looks like this:
bundlers.x86_64-linux = rec {
identity = drv: drv;
blender_2_79 = drv: self.packages.x86_64-linux.blender_2_79;
default = identity;
};A bundler must be a function that accepts an arbitrary value (typically a derivation or app definition) and returns a derivation.
Options
--bundlerflake-urlUse a custom bundler instead of the default (
github:NixOS/bundlers).--out-link/-opathOverride the name of the symlink to the build result. It defaults to the base name of the app.
Common evaluation options
--argname exprPass the value expr as the argument name to Nix functions.
--arg-from-filename pathPass the contents of file path as the argument name to Nix functions.
--arg-from-stdinnamePass the contents of stdin as the argument name to Nix functions.
--argstrname stringPass the string string as the argument name to Nix functions.
--debuggerStart an interactive environment if evaluation fails.
--eval-storestore-urlThe URL of the Nix store to use for evaluation, i.e. to store derivations (
.drvfiles) and inputs referenced by them.--impureAllow access to mutable paths and repositories.
--include/-IpathAdd path to search path entries used to resolve lookup paths
This option may be given multiple times.
Paths added through
-Itake precedence over thenix-pathconfiguration setting and theNIX_PATHenvironment variable .--override-flakeoriginal-ref resolved-refOverride the flake registries, redirecting original-ref to resolved-ref.
Miscellaneous global options
--helpShow usage information.
--offlineDisable substituters and consider all previously downloaded files up-to-date.
--optionname valueSet the Nix configuration setting name to value (overriding
nix.conf).--refreshConsider all previously downloaded files out-of-date.
--repairDuring evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths.
--versionShow version information.
Options that change the interpretation of installables
--exprexprInterpret installables as attribute paths relative to the Nix expression expr.
--file/-ffileInterpret installables as attribute paths relative to the Nix expression stored in file. If file is the character -, then a Nix expression is read from standard input. Implies
--impure.Note
See
man nix.conffor overriding configuration settings with command line flags.