Frequently Asked Questions

Common questions about setting up and customizing your Fastfetch configuration.

Check that the setting is placed in the correct section and that its value follows the expected format. A typo or incorrect structure can prevent the change from working as intended.
No. Configuration changes only control how Fastfetch runs and displays information. They do not change the installed version.
Yes. Separate configuration files can be kept for different layouts, with the required file loaded when running the command.
The setting may not apply correctly or may show an error. Check the value and surrounding syntax to make sure they follow the expected configuration format.

How to Generate and Edit a Configuration File

You can create a basic configuration and then edit it to change how the tool works.

Step 1

Generate a Default Setup

Create a basic configuration file by running the command below. This opens an interactive prompt where you can choose a minimal or full configuration.

● ● ●

fastfetch --gen-config

In a script or non-interactive terminal, Fastfetch automatically falls back to a default minimal config without prompts.

Step 2

Open and Edit the Configuration File

Open the configuration file with a text editor, find the setting you want to change, edit its value, then save and close the editor.

● ● ●

nano ~/.config/fastfetch/config.jsonc
Step 3

Use a Custom File Path

If your configuration file is stored somewhere else, tell Fastfetch which file to use. Replace the path with your fileu2019s actual location.

● ● ●

fastfetch --config /path/to/config.jsonc
Step 4

Test Your Changes

After saving the file, run fastfetch again. The updated settings will be applied and appear in your terminal.

● ● ●

fastfetch

When the result is not as expected, check the setting you changed.

Understanding the Configuration File Structure

Settings are organized using a JSONC format with an available JSON Schema for editor support.

What Is the JSONC Format?

Configuration files use JSONC, which is JSON with support for comments. Settings are written as keys and values, and comments can explain what each setting does. For example:

{
  "logo": {
    "type": "auto"
  }
}

Here, logo identifies the setting, while type defines its value. Keeping the structure properly formatted is important because Fastfetch needs to read these settings correctly.

Does It Support a JSON Schema for Editors?

Yes — a JSON schema helps code editors understand the structure and available options in the configuration file. It can provide suggestions, setting descriptions, and warnings when a value doesnu2019t match the expected format, making editing easier when working with many available settings.

What Display Settings Can You Customize?

Colors, spacing, separators, and other display options can be adjusted to change how information appears in the terminal.

Change Colors and Separators

Different colors can be used for the text, and the symbol between a label and its value can be changed. For example:

{
  "display": {
    "separator": " ➔ ",
    "color": {
      "keys": "magenta",
      "title": "blue"
    }
  }
}

You can use different separators such as :, |, or to give the output the look you want.

Adjust Key Width and Spacing

Key width controls the space used by labels such as CPU, Memory, and Disk.

{
  "display": {
    "key": {
      "width": 12
    }
  }
}

A higher number gives the labels more space, while a lower number makes the output more compact.

Customize Percentage Bars and Formatting

Some modules can show information as percentage bars — you can change how these bars look through their module settings. You can also adjust how values such as memory, battery, and disk usage are displayed, keeping the terminal output simple and easy to read.

What Can You Customize in Modules?

System details can be selected, reordered, and adjusted to control how module information appears in the output.

Add, Remove, and Reorder Modules

Fastfetch keeps the modules in a list inside the modules section. Each module represents a type of system information, such as the OS, CPU, or memory. To see the available modules, run:

fastfetch --list-modules

You can add a module by placing its name in the list. Remove a module by deleting it, or move it to a different position to change the order. For example:

{
  "modules": [
    "title",
    "os",
    "cpu",
    "memory"
  ]
}

The modules appear in the same order as they are listed in the configuration.

Customize Module Output With Format Strings

Format strings let you control how a moduleu2019s information is displayed. You can use placeholders to decide which details appear and how they are arranged. For example:

{
  "type": "os",
  "format": "{name} (Build {version})"
}

This changes the OS output so the name and version appear together in a custom format.

How to Use Fastfetch Presets

Presets are ready-made configuration files that provide a specific display style. You can use them as-is or change them to match your needs.

Run a Preset

Preset files let you use a configuration without building one from scratch. They are usually stored in locations such as /usr/share/fastfetch/presets/ and ~/.local/share/fastfetch/presets/. To use a preset, pass its name with the -c option:

fastfetch -c all

You can also run a specific preset, such as:

fastfetch -c examples/neofetch

Customize an Existing Preset

You do not have to keep a preset exactly as it is — you can copy it and make your own changes:

cp /usr/share/fastfetch/presets/neofetch.jsonc ~/.config/fastfetch/config.jsonc

After copying it, open the file in a text editor and change the settings you want. This is useful when you like the basic style of a preset but want a few changes.

Create Your Own Preset

You can also create a preset from your own configuration. Save the settings you want in a .jsonc file and keep it in a preset directory, for example:

~/.local/share/fastfetch/presets/my-preset.jsonc

You can then run it with:

fastfetch -c my-preset

This gives you a separate preset that you can reuse whenever you want the same Fastfetch setup.

How to Reset the Configuration

Removing the current settings restores a fresh configuration without the previous custom changes.

Step 1

Back Up Your Current Configuration

Before resetting, save a copy of your current configuration. This backup lets you restore your previous settings if needed.

cp ~/.config/fastfetch/config.jsonc ~/.config/fastfetch/config.jsonc.bak
Step 2

Remove the Old Configuration

Remove the existing configuration file.

rm ~/.config/fastfetch/config.jsonc
Step 3

Generate a Fresh Configuration

Run the same command used to create a configuration. The interactive prompt will also let you confirm overwriting your existing file.

fastfetch --gen-config
Step 4

Verify the Reset

Run Fastfetch to check the new configuration. Fastfetch will now use the fresh configuration.

fastfetch

Fastfetch Configuration Example

The following example combines logo, display, and module settings in one configuration file.

A Complete config.jsonc Example

{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "logo": {
    "type": "auto",
    "source": "arch",
    "padding": {
      "top": 1,
      "left": 2,
      "right": 2
    }
  },
  "display": {
    "separator": " ➔ ",
    "color": {
      "keys": "magenta",
      "title": "blue"
    }
  },
  "modules": [
    "title",
    "separator",
    "os",
    "kernel",
    "uptime",
    "shell",
    "terminal",
    "break",
    "cpu",
    "gpu",
    "memory",
    "disk",
    "break",
    "colors"
  ]
}

Save this as config.jsonc and adjust the supported settings to create your preferred layout.

Loading a Specific Config File

You can test another configuration without replacing your main setup by loading its file directly:

fastfetch --config /path/to/custom_config.jsonc

Tips for Better Fastfetch Configuration

  • Keep your configuration clean and organized so you can find settings easily.
  • Different custom presets can be kept in separate files when using more than one layout.
  • Make small changes at a time so it is easier to identify the setting responsible for an unexpected result.

Frequently Asked Questions

Common questions about setting up and customizing your Fastfetch configuration.

Check that the setting is placed in the correct section and that its value follows the expected format. A typo or incorrect structure can prevent the change from working as intended.
No. Configuration changes only control how Fastfetch runs and displays information. They do not change the installed version.
Yes. Separate configuration files can be kept for different layouts, with the required file loaded when running the command.
The setting may not apply correctly or may show an error. Check the value and surrounding syntax to make sure they follow the expected configuration format.

Conclusion

Fastfetch Configuration and Customization gives you simple ways to create a terminal display that suits your needs. You can choose the information you want to see, adjust the layout, and keep different setups for different uses. With a few small changes, you can keep your terminal output clean, useful, and easy to manage.