inxi :: script configuration

Page Version: 2.1
Page Updated: 2019-02-06
inxi version: 3.0.31

Inxi features a very wide range of user configurable options. For clarity, let us assume your user name is fred for the rest of this page when it comes to system paths and so on.

Please note, for distributions or packagers that include inxi, they might want to take a look at creating global configurations that more accurately suite their defaults, for example the range of colors that can be used for each purpose. See the options page for more information about colors. In general I suggest running the -c color selector to see what the colors really look like before setting them, and it's easy to use that tool to set the config file data per user.


Configuration Files

You can create inxi configuration files, or let inxi create them for you if you use the -c 94 through 99 color selector.

You can use comments in your config files. Comments use a # mark before the commented text.

As usual, inxi, allows for either a global configuration file, located at:


or specific user, including root, configuration files, located at the following possible locations (order listed is order of precedence):

  1. If you have a path set in $XDG_CONFIG_HOME, then this is where your user config file should go:
  2. This is usually going to be the path in $XDG_CONFIG_HOME, so if that is empty, but you have the .config directory, use that:
  3. The previous default was
    inxi will continue to use this if no $XDG_CONFIG_HOME or $HOME/.config/ exists.

NOTE: this path change was made 2016-12-18, and inxi will automatically move the files in $HOME/.inxi to $HOME/.config/inxi.conf and $HOME/.local/share/inxi if anything was in your .inxi directory. New inxi users will see their data in $HOME/.local/share/inxi and the config local user file in $HOME/.config/inxi.conf unless $XDG_CONFIG_HOME / $XDG_DATA_HOME are different, then it will use those paths.

So let's say you, fred, are logged in as fred, this would put your inxi configuration directory/file here:


If you wanted the root user to have some different defaults, you'd create/edit this file/directory:


Please note the . in the config directory, that's a hidden file type, also as usual. Config files inxi needs will be found in there, and other data files in .local/share/inxi, including debugging or log files if you run inxi with those options activated.

Note that file is always checked for, first the /etc, then the specific logged in user's config file, and anything in those will override the script defaults, but will in turn be overridden if you start inxi with an overriding option.


Configuration Values: Output Formatting

The following are options to change the output formatting, line lengths, colors, default filter values, and indentations.


Colors, Colors, and More Colors!

These can all be adjusted on a per user basis using the inxi -c 94 through 99 options.

In general I think it's easier to see the colors using the color selector tool, but if you already know what color scheme you want, or if it's for a distribution or package, of course you can create any color defaults you want.

It's very important NOT to use any other than the basic set of color schemes offered by inxi irc color selectors because the other ones are often not visible to other users on IRC even if you can see it fine on your system. This applies to the default and the IRC colors.

See inxi's help menu (-h or --help) for full explanation of the various colors and schemes, and please run it yourself to see what the colors really look like. These are the active color options. Only add the one(s) you are going to use, and add = plus number after the option item.





Data Field Separators

This value adds separators to output, for example:

System:    Host: moxie Kernel: 2.6.37-2.dmz.1-liquorix-686 i686 (32 bit, gcc: 4.4.5)

Only sub fields, not line/item starters will be affected. That is, Host: would not be changed, but Kernel: would become Kernel~ if you changed the separator from ':' to '~'


Please be aware that many IRC clients add emoticons, so it's generally a BAD idea to add any IRC separator since it may trigger a happy face for other users, or whatever emoticon it is.


<Filter> String

This value is what is displayed when either the IRC filter or the -z triggered filter hides some of the user data.



Line Lengths

These can be used to alter how long the lines are, in characters, before they wrap. Most of the lines will wrap when they have enough data to form a new line. Usually you want to leave IRC as is, or even shorter, because you have no control over how wide other IRC user's displays are. However, for your own systems, you might find it useful to alter the COLS_MAX_CONSOLE and COLS_MAX_NO_DISPLAY to suite your taste.

COLS_MAX_CONSOLE will also set the default max width for the help/version output.

However, for help/version, that width is set dynamically to fit into your terminal/console width, as will more of the inxi line widths in the main output (improved line wraps based on dynamic sizing in console/terminal started 2014-03-13, should be done by 2014-04). Note that the max number dictates the maximum columns that will be used in the output.

2014-03-14: Changed variable names to be more sensible.

COLS_MAX_CONSOLE=115 # in display, terminal client max width 
COLS_MAX_NO_DISPLAY=130 # not in display, no X/Wayland running.

NOTE: the following variables are deprecated, but they will keep working if you have already created a conf option for default widths. inxi translates those internally to the new COLS ones.


The point where the line starter wrapping to its own line happens. Overrides default. If 80 or less, wrap will never happen. The default is 90.



Output Indentation

You can change the default inxi indentation of the single line items, but be aware that if it's less than the given 10, the line starter will be on its own line, and the data for that item will have an indent of 2. If you want a bigger indentation you can do that. Not recommended to change it though.



Configuration Values: Data Adjustments

The following values adjust how inxi handles data internally, along with some on/off switches for various inxi features.

Allow Update

Many distribution inxi packages have disabled the -U self-updater option. If you would like to get an up-to-date inxi, open as root or with sudo the file: /etc/inxi.conf then change the false value to true:


and then save the file. When you next run:

sudo inxi -U

inxi will now update itself and the man page. Note that as long as inxi is managed by the distribution package system, your updated inxi and inxi man page will be overwritten in the next update of inxi in your repos.


CPU Spindown

This lets the CPU 'spin down' as it were to avoid the CPU speed spike that inxi itself running can cause. 0.3 seconds seems to be enough for most systems. The main function here is to see the CPU speed as it would be if inxi were not running.



Limit IPs

Change the default maximum number of IP addresses per interface showing for -i. Default is 10.



Partition Sort Order

Change Partition report sort order. Available sort options are:



Process Count

Change the default count of processes inxi shows for -t/--processes option (default 5).



Remove Host: From System Line

If you don't want to show people your hostname in the -S line, you can set this to false, and it won't show that information. If you want to temporarily override this, use: inxi --host (inxi 2.9 and newer) / inxi -! 32 (inxi 2.3.56 and older)



Sensors Output Adjustments - Expert Only

For specific cases where you aren't getting consistent sensors output, that usually happens when cpu / fan speed in sensors output aren't labeled clearly, just with say, temp1 and fan1, inxi has to guess which is which, this lets you hard code that data in, so it will always use the right sensors for cpu.

Only use this if the output of sensors shows no specific cpu for fan or temp, and if it does show for example, temp1/temp2, fan1 fan2.



that tool to set the config file data per user.

USB /sys

Set to true if you want inxi to use /sys for your USB information. While this is much faster than default lsusb, it's sometimes not very accurate, and tends to be missing various bits of data.

inxi will default to using /sys on Linux kernel systems without lsusb installed as a fallback.




Use an alternate source for the WAN IP. Disables dig, and uses a downloader to grab the IP from the URL you give.

The URL must start with http or ftp. The IP address from the URL must be the last item on the last (non-empty) line of the URL's page content source code.



Weather Source

Active as of inxi 3.0.31. Accepts values 0-9. 0 switches inxi to use a legacy and deprecated source which will probably fail, as does 1. Corresponds with --weather-source option so you can test which works best for you before using this configuration option. 4-9 are not currently active but may be in the future.



Weather Units

[inxi 3.0.09 and newer] Change the weather units. Units are (metric::imperial): C::F, m/s,km/h::mph, mb::in, m::ft


Setting Sudoers Permissions

If you are setting up multiple permissions and want to allow users to be able to use certain tools without being root for full inxi output, try this simple addition to /etc/sudoers:

User_Alias    INXI = user1, user2, user3 
Cmnd_Alias    INXI_CMD = tool1, tool2, tool3 

## example:
User_Alias    INXI = fredg,boba 
Cmnd_Alias    INXI_CMD = hddtemp,dmidecode,file


hddtemp configurations

This may be useful to you if you are trying to get temperatures from SSD or NVME drives.

From a thread:

Note: I following this thread, I installed hddtemp from SBo and then added two entries to /etc/hddtemp/hddtemp.db (alternate: /etc/hddtemp.db) for my Samsung SSD and NVME Drives:
# kjh was  here
"Samsung SSD 850 PRO"                                   190  C  "Samsung SSD 850 PRO"
"SAMSUNG MZHPV512HDGL"                                  194  C  "Samsung SM951 512gb"
# kjh was there


Have Fun!

And that's about it for variables you'd have any reason to change, or that would be potentially useful.