fastfetch is a simple terminal tool that let’s you display a bunch of system information inside the terminal. I primarily use it to show key information every time I start up a new terminal window.

Custom Config

I would suggest running the fastfetch -c all.jsonc command to see all the options available to you. Furthermore you should also check out the official config template. To change the default config just place config.jsonc and myascii.txt inside ~/.config/fastfetch.

Apparently you can also use the fastfetch --gen-config command to generate a custom template file. After that you just edit this file and you are good to go.

Linux/Fedora

Simply use sudo dnf install fastfetch and everything should work without a hitch.

{
  "logo": {
    "source": "~/.config/fastfetch/myascii.txt",
    "padding": {
      "top": 2
    }
  },
  "modules": [
    "break",
    "break",
    "datetime",
    "uptime",
    "break",
    "os",
    "kernel",
    "de",
    "packages",
    "version",
    "break",
    "board",
    {
      "type": "cpu",
      "showPeCoreCount": true,
      "temp": true
    },
    {
      "type": "gpu",
      "driverSpecific": false,
      "temp": true
    },
    "memory",
    {
      "type": "swap",
      "separate": true
    },
    "disk",
    "break",
    "dns",
    {
      "type": "localip",
      "showIpv6": false,
      "showMac": false,
      "showSpeed": false,
      "showMtu": false,
      "showLoop": false,
      "showFlags": false,
      "showAllIps": false
    },
    {
      "type": "publicip",
      "timeout": 1000
    }
  ]
}

Auto run on new terminals:

  1. nano ~/.bashrc
  2. add fastfetch at the bottom of the file
  3. save and exit
  4. reload with source ~/.bashrc

macOS

Just use Homebrew (brew install fastfetch) and you are good to go.

{
  "logo": {
    "padding": {
      "top": 1
    }
  },
  "modules": [
    "break",
    "datetime",
    "uptime",
    {
      "type": "battery",
      "temp": true
    },
    "break",
    "os",
    "packages",
    "version",
    "break",
    "host",
    {
      "type": "cpu",
      "showPeCoreCount": true,
      "temp": true
    },
    {
      "type": "gpu",
      "driverSpecific": true,
      "temp": true
    },
    "memory",
    {
      "type": "swap",
      "separate": true
    },
    "disk",
    "break",
    "dns",
    {
      "type": "localip",
      "showIpv6": true,
      "showMac": false,
      "showSpeed": false,
      "showMtu": false,
      "showLoop": false,
      "showFlags": false,
      "showAllIps": false
    },
    {
      "type": "publicip",
      "timeout": 1000
    },
    "break"
  ]
}

Auto run on new terminals:

  1. nano ~/.zshrc
  2. add fastfetch at the bottom of the file
  3. save and exit
  4. reload with source ~/.zshrc