NVME-CLI.CONF(5)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-cli.conf β€” the nvme-cli global option defaults file format πŸŽ€

okay so bestie, welcome to nvme-cli.conf(5), aka the little config file that runs the whole vibe of your nvme setup ✨


🌸 SYNOPSIS 🌸

/usr/local/etc/nvme/nvme-cli.conf

like, that's it. that's the path. it's iconic and it does not move πŸ’…


πŸ’– DESCRIPTION πŸ’–

So this is an INI-format file that sets machine-wide defaults for the global options that literally every nvme subcommand accepts (peep GLOBAL OPTIONS in nvme(1) for the full rundown). The classic example? You're lowkey tired of typing --no-ioctl-probing on every single invocation, so you just... set it here once. slay 🫢

Here's the tea on how it gets read:

  • It's read once, and that happens before command-line parsing.
  • It only sets defaults β€” an explicit command-line flag always overrides whatever this file set. ALWAYS. no cap πŸ‘‘
  • A missing file is not an error; it just changes nothing. no file, no drama πŸ¦‹
  • A file that can't be read is an error: nvme reports it and fails. so like, don't do that 😭
  • The file holds no secrets and must be readable by every user, because nvme may read it after dropping its root privileges. highkey important, don't forget πŸ’€
Also heads up: there is no --config override and no drop-in directory for this file. It always lives at that path up there. periodt.

✨ SECTIONS ✨

There's exactly one recognized section, bestie, and it's [Global].

  • Keys outside [Global] β€” including in an unrecognized section β€” get ignored with a warning. respectfully, they're not in the group chat πŸ’…
  • Boolean values accept 1/yes/y/true/t/on and 0/no/n/false/f/off (case-insensitive). so flexible, we love her 🌈
  • Unknown keys and malformed values are ignored with a warning β€” they do not stop the rest of the file from being applied. she keeps going, main character energy πŸ’œ

πŸŽ€ KEYS πŸŽ€

Every key here is the same name as its nvme long option (hyphenated, obviously). Wanna know what each one actually means? Go read GLOBAL OPTIONS in nvme(1), iykyk πŸ“–

  • verbose
  • quiet
  • output-format
  • timeout
  • dry-run
  • no-retries
  • no-ioctl-probing
  • output-format-version
  • set-options

One thing you gotta know ngl: verbose takes the desired verbosity level directly β€” so verbose = 2 is equivalent to -vv β€” instead of the increment-per-flag behavior of -v on the command line. different mechanic, same slay ⭐


πŸ¦‹ EXAMPLE πŸ¦‹

# /usr/local/etc/nvme/nvme-cli.conf

[Global]
no-ioctl-probing = true
output-format = json
timeout = 5000

look at her go πŸ˜­πŸ’– json output, no ioctl probing, 5000ms timeout β€” a whole aesthetic.


πŸ‘‘ SEE ALSO πŸ‘‘


🌸 NVME 🌸

Part of the nvme-user suite πŸ’«


and that's the whole page, bestie β€” signing off from the NVMe manual, dated 10/30/2026, filed under NVME-CLI.CONF(5). go forth and configure responsibly πŸ§šπŸ’œ

πŸ“¦ where this page comes from