nix3-profile-upgrade(1)

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

okay bestie, we're in the General Commands Manual and today's main character is nix profile upgrade β€” literally the glow-up button for your Nix profile 🫢

⚠️ Warning β€” this program is experimental and its interface is subject to change. (yes, it can and will switch up on you, no cap.)

✨ Name ✨

nix profile upgrade β€” upgrade packages using their most recent flake 🌸


πŸ¦‹ Synopsis πŸ¦‹

nix profile upgrade [option…] elements…

πŸŽ€ Examples πŸŽ€

  • Upgrade all packages that were installed using an unlocked flake reference:
# nix profile upgrade --all
  • Upgrade a specific package by name:
# nix profile upgrade hello
  • Upgrade all packages that include 'vim' in their name:
# nix profile upgrade --regex '.*vim.*'
  • Show what packages would be upgraded, without actually upgrading:
# nix profile upgrade --all --dry-run

πŸ’… Description πŸ’…

This command upgrades a previously installed package in a Nix profile, by fetching and evaluating the latest version of the flake from which the package was installed. it's giving "go get your fresh fit" πŸ”₯

⚠️ Warning β€” this only works if you used an unlocked flake reference at installation time, e.g. nixpkgs#hello. It does not work if you used a locked flake reference (e.g. github:NixOS/nixpkgs/13d0c311e3ae923a00f734b43fd1d35b47d8943a#hello), since in that case the "latest version" is always the same. locked = the vibe is frozen in time, periodt πŸ’€

🌈 Options 🌈

  • --all β€” match all packages in the profile. the whole squad πŸ‘‘
  • --dry-run β€” show what this command would do without doing it. window shopping only, bestie πŸ›οΈ
  • --profile path β€” the profile to operate on.
  • --regex pattern β€” a regular expression to match one or more packages in the profile.

🧚 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. (it's giving "call a friend" 😭)
  • --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.
  • --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). The input-path must not be empty. 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'. (the tea is PIPING β˜•)
  • --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 is 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!! no skips, no shortcuts, all 40-ish options accounted for πŸ’– this was nix3-profile-upgrade(1) from the General Commands Manual β€” catching you in the group chat, mwah πŸŽ€πŸ‘‘βœ¨

πŸ“¦ where this page comes from