nix3-profile-install(1)

πŸ’– nix3-profile-install(1) πŸ’–

okay so this lil page lives in the General Commands Manual, and it's literally all about nix profile install. sit with me bestie, we're gonna get you fluent πŸ’…

⚠️ Warning β€” this program is experimental and its interface is subject to change. (translating: it works, it slays, but the API might glow up on you without warning πŸ™ˆ)

✨ Name ✨

nix profile install β€” install a package into a profile. that's it, that's the whole job, and it eats every time 🫢


🌈 Synopsis 🌈

nix profile install [option…] installables…

πŸŽ€ Examples πŸŽ€

here's the vibe, in four iconic flavours:

  • Install a package from Nixpkgs:
# nix profile install nixpkgs#hello
  • Install a package from a specific branch of Nixpkgs:
# nix profile install nixpkgs/release-20.09#hello
  • Install a package from a specific revision of Nixpkgs:
# nix profile install nixpkgs/d73407e8e6002646acfdef0e39ace088bacc83da#hello
  • Install a specific output of a package:
# nix profile install nixpkgs#bash^man

see how the flake ref just keeps getting more specific? it's giving glow up, not me doing too much πŸ’…


🌸 Description 🌸

This command adds installables to a Nix profile. that's the whole main character moment β€” you point at stuff, it goes in your profile, no cap ✨


πŸ’œ Options πŸ’œ

  • --priority priority β€” the priority of the package to install.
  • --profile path β€” the profile to operate on.
  • --stdin β€” read installables from the standard input. No default installable applied. (so like, it won't just assume one for you, you gotta feed it 😌)

πŸ”₯ Common evaluation options πŸ”₯

  • --arg name expr β€” pass the value expr as the argument name to Nix functions.
  • --arg-from-file name path β€” pass the contents of file path as the argument name to Nix functions.
  • --arg-from-stdin name β€” pass the contents of stdin as the argument name to Nix functions.
  • --argstr name string β€” pass the string string as the argument name to Nix functions.
  • --debugger β€” start an interactive environment if evaluation fails. (safety net era 🧚)
  • --eval-store store-url β€” the URL of the Nix store to use for evaluation, i.e. to store derivations (.drv files) and inputs referenced by them.
  • --impure β€” allow access to mutable paths and repositories. (letting the chaos in fr fr)
  • --include / -I path β€” add path to search path entries used to resolve lookup paths.

This option may be given multiple times.

Paths added through -I take precedence over the nix-path configuration setting and the NIX_PATH environment variable. πŸ‘‘

  • --override-flake original-ref resolved-ref β€” override the flake registries, redirecting original-ref to resolved-ref.

  • --commit-lock-file β€” commit changes to the flake's lock file.
  • --inputs-from flake-url β€” use the inputs of the specified flake as registry entries.
  • --no-registries β€” don't allow lookups in the flake registries.
DEPRECATED β€” use --no-use-registries instead. (old news bestie, move on 🫢)
  • --no-update-lock-file β€” do not allow any updates to the flake's lock file.
  • --no-write-lock-file β€” do not write the flake's newly generated lock file.
  • --output-lock-file flake-lock-path β€” write the given lock file instead of flake.lock within the top-level flake.
  • --override-input input-path flake-url β€” override a specific flake input (e.g. dwarffs/nixpkgs). This implies --no-write-lock-file.
  • --recreate-lock-file β€” recreate the flake's lock file from scratch.
DEPRECATED β€” use nix flake update instead.
  • --reference-lock-file flake-lock-path β€” read the given lock file instead of flake.lock within the top-level flake.
  • --update-input input-path β€” update a specific flake input (ignoring its previous entry in the lock file).
DEPRECATED β€” use nix flake update instead.

  • --debug β€” set the logging verbosity level to 'debug'. (maximum yapping, we love to see it)
  • --log-format format β€” set the format of log output; one of raw, internal-json, bar or bar-with-logs.
  • --print-build-logs / -L β€” print full build logs on standard error.
  • --quiet β€” decrease the logging verbosity level.
  • --verbose / -v β€” increase the logging verbosity level.

🌟 Miscellaneous global options 🌟

  • --help β€” show usage information.
  • --offline β€” disable substituters and consider all previously downloaded files up-to-date.
  • --option name value β€” set the Nix configuration setting name to value (overriding nix.conf).
  • --refresh β€” consider all previously downloaded files out-of-date.
  • --repair β€” during evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths.
  • --version β€” show version information.

πŸ“ Options that change the interpretation of installables πŸ“

  • --expr expr β€” interpret installables as attribute paths relative to the Nix expression expr.
  • --file / -f file β€” interpret installables as attribute paths relative to the Nix expression stored in file. If file is the character -, then a Nix expression will be read from standard input. Implies --impure.
Note β€” see man nix.conf for overriding configuration settings with command line flags.

and that's the whole page bestie, you're officially fluent in nix profile install πŸŽ€βœ¨

this iconic lil page signs off as nix3-profile-install(1) β€” that's the source/version tag and the whole footer vibe, so go forth and install things, iykyk πŸ’–πŸ¦‹πŸ‘‘

πŸ“¦ where this page comes from