Arch Linux BasedManjaro

How To Install Fastfetch on Manjaro

Install Fastfetch on Manjaro

Manjaro Linux users seeking a faster, more efficient system information tool often turn to Fastfetch as an alternative to the popular Neofetch utility. Fastfetch delivers system information with lightning speed while providing extensive customization options and consuming fewer resources. This guide will walk you through everything you need to know about installing, configuring, and optimizing Fastfetch specifically for your Manjaro system.

Understanding Fastfetch

What is Fastfetch?

Fastfetch is a modern system information tool designed as a faster alternative to Neofetch, screenfetch, and similar utilities. Written in C, Fastfetch efficiently retrieves and displays your system’s hardware and software information in the terminal with minimal resource usage. The tool provides detailed data about your CPU, GPU, memory, disk space, operating system, package count, and more-all with an accompanying ASCII logo.

Fastfetch vs. Neofetch

While Neofetch has long been the go-to tool for Linux users wanting to display system information, Fastfetch offers several advantages:

  • Execution speed: Fastfetch typically runs 5-10 times faster than Neofetch due to its C-based implementation
  • Lower resource consumption: Uses significantly less memory while running
  • More detailed hardware information: Provides comprehensive data about GPUs, storage devices, and other hardware
  • Greater customization: Offers more granular control over which modules are displayed and how they appear
  • Multiple output formats: Supports JSON, CSV, and other formats beyond terminal display

The primary trade-off is that Neofetch has been around longer and may have broader compatibility with unusual system configurations.

Why Use Fastfetch on Manjaro?

Manjaro, being Arch-based, benefits particularly from Fastfetch’s efficient design. The rolling release nature of Manjaro means you’ll always have access to the latest Fastfetch updates. Additionally, Fastfetch’s modular approach aligns well with the Manjaro philosophy of user customization and control, allowing you to tailor the system information display precisely to your preferences.

Prerequisites for Installing Fastfetch

System Requirements

Fastfetch has minimal system requirements, making it suitable for virtually any Manjaro installation. The basic requirements include:

  • A functioning Manjaro Linux installation (any desktop environment)
  • Terminal access
  • Internet connection for downloading packages
  • Basic understanding of command line operations

Fastfetch works efficiently even on low-end hardware, as it’s designed to be lightweight and consume minimal resources.

Checking for Dependencies

Before installing Fastfetch, ensure your system has the necessary build dependencies if you plan to compile from source. Run:

sudo pacman -S base-devel git cmake

For optimal functionality with all features enabled, you may want to install additional packages:

sudo pacman -S vulkan-tools wayland xorg-xrandr

Updating Your System

As with any package installation on Manjaro, it’s best to start with a fully updated system:

sudo pacman -Syu

This command synchronizes your package database and upgrades all installed packages to their latest versions. A freshly updated system minimizes the risk of dependency conflicts during Fastfetch installation.

Installation Methods

Method 1: Using Pacman (Official Repositories)

The simplest way to install Fastfetch on Manjaro is through the official repositories using pacman. Fastfetch is now available in the Manjaro repositories, making installation straightforward.

1. Open your terminal and run:

sudo pacman -S fastfetch

2. Confirm the installation when prompted.

3. Verify the installation by running:

fastfetch

This method has several advantages:

  • Simplicity: One command installation process
  • Automatic dependency resolution
  • Easy updates through your regular system update process
  • Manjaro-tested package compatibility

If you want to keep Fastfetch updated automatically with your system updates, this is the recommended installation method.

Method 2: Manual Installation from GitHub

For users who want the latest features or specific versions not yet available in the Manjaro repositories, installing from the GitHub source is an alternative:

1. Clone the Fastfetch repository:

git clone https://github.com/fastfetch-cli/fastfetch.git
cd fastfetch

2. Create a build directory and configure the build:

mkdir -p build
cd build
cmake ..

3. Compile and install Fastfetch:

cmake --build .
sudo cmake --install .

4. Verify installation:

fastfetch

This method offers several benefits:

  • Access to the latest features and improvements
  • Ability to compile with specific options enabled or disabled
  • Option to use development versions with new capabilities

The main disadvantages are manual update management and potential compatibility issues with bleeding-edge versions.

Basic Usage of Fastfetch

Running Fastfetch for the First Time

After installation, execute Fastfetch by simply typing:

fastfetch

The command will display system information along with an ASCII logo (by default, you’ll see the Arch logo since Manjaro is Arch-based).

For a more minimal output, try:

fastfetch --minimal

Or for a complete system report:

fastfetch --full

Understanding the Default Output

The default Fastfetch output includes:

  • ASCII logo of your distribution (Arch logo for Manjaro by default)
  • Operating system name and version
  • Kernel version
  • Uptime
  • Package count
  • Shell information
  • Terminal details
  • CPU model and usage
  • Memory usage
  • Disk information

Each line is color-coded and formatted for easy readability, with hardware and software information presented in a clean, organized manner.

Basic Command-line Options

Fastfetch comes with numerous command-line options to customize its behavior:

  • --help: Display available commands and options
  • --structure-list: Show all available modules
  • --logo-type NAME: Change the logo type (e.g., manjaro, arch, small, none)
  • --pipe: Disable progressive output (useful for scripts)
  • --format json: Output in JSON format instead of the default text display
  • --multithreading: Enable/disable multithreaded information gathering

Displaying Manjaro Logo Instead of Arch

Why Fastfetch Shows Arch Logo on Manjaro

Since Manjaro is based on Arch Linux, Fastfetch automatically detects the system as Arch-based and displays the Arch logo by default. This happens because Fastfetch first checks the operating system’s base rather than specific distribution identity.

Changing to Manjaro Logo

To display the Manjaro logo instead of the Arch logo, use the --logo-type parameter:

fastfetch --logo-type manjaro

You can also try different logo variants:

fastfetch --logo-type manjaro-small
fastfetch --logo-type manjaro-small-ascii

Making the Change Permanent

To make the Manjaro logo your default, create a Fastfetch configuration file:

1. Create the configuration directory if it doesn’t exist:

mkdir -p ~/.config/fastfetch

2. Create or edit the configuration file:

nano ~/.config/fastfetch/config.conf

3. Add the following line to the file:

--logo-type manjaro

4. Save and exit (Ctrl+X, Y, Enter in nano)

Now Fastfetch will always use the Manjaro logo when run without additional parameters.

Customizing Fastfetch

Generating a Configuration File

The easiest way to begin customizing Fastfetch is to generate a default configuration file:

fastfetch --gen-config

This creates a configuration file at ~/.config/fastfetch/config.conf with all available options commented out for reference.

For a more minimal starting point:

fastfetch --gen-config minimal

Location and Structure of Config Files

Fastfetch looks for configuration files in several locations, in order of priority:

  1. Custom path specified with --config: fastfetch --config /path/to/config
  2. ~/.config/fastfetch/config.conf (user-specific)
  3. /etc/fastfetch/config.conf (system-wide)

The configuration file structure consists of command-line options, one per line. Comments start with #. Here’s a simple example:

# Fastfetch configuration file
--logo-type manjaro
--color-keys blue
--structure OS:Kernel:DE:Terminal

Basic Configuration Options

Some essential configuration options include:

  • --structure: Define which modules appear and in what order
  • --color-keys: Change the color of information labels
  • --color-separator: Modify the color of the separator between keys and values
  • --separator: Change the separator character between keys and values
  • --show-errors: Display or hide any errors encountered during information gathering
  • --disable-linewrap: Prevent line wrapping for long output values

Changing Colors and Formats

Customize the visual appearance with color options:

--color-keys 2
--color-separator 4

Colors can be specified as numbers (0-255) or common color names (red, green, blue, etc.).

For a completely custom display format:

--format "{key}: {value}"

The format option supports various placeholders and allows complete control over how information is presented.

Advanced Configuration

Module Selection and Arrangement

Control which modules are displayed and their order using the --structure option:

--structure OS:Kernel:Uptime:Packages:Memory:Disk

To see all available modules:

fastfetch --structure-list

You can also disable specific modules:

--disable-gpu
--disable-disk

Custom ASCII Art and Logos

Add your own custom ASCII art by creating a text file with your desired logo:

nano ~/.config/fastfetch/custom_logo.txt

Then reference it in your configuration:

--logo-source ~/.config/fastfetch/custom_logo.txt

For color ASCII art, use ANSI color codes in your text file. Alternatively, use an image as your logo:

--logo-source /path/to/image.png
--logo-width 40

Performance Optimization

For maximum speed, especially on slower systems:

--multithreading false
--disable-slow-modules

Slow modules typically include disk information and certain hardware details that require more time to collect.

Multi-system Configurations

Create different configuration files for various systems:

mkdir -p ~/.config/fastfetch/presets/
nano ~/.config/fastfetch/presets/laptop.conf
nano ~/.config/fastfetch/presets/desktop.conf

Then run Fastfetch with the appropriate configuration:

fastfetch --config ~/.config/fastfetch/presets/laptop.conf

Running Fastfetch at Terminal Startup

Adding to .bashrc

To display Fastfetch every time you open a terminal with Bash:

1. Open the .bashrc file:

nano ~/.bashrc

2. Add the following line at the end of the file:

fastfetch

3. Save and exit.

4. Apply the changes:

source ~/.bashrc

Configuration for Other Shells

For Zsh users:

echo "fastfetch" >> ~/.zshrc
source ~/.zshrc

For Fish shell:

echo "fastfetch" >> ~/.config/fish/config.fish

Conditional Execution

To prevent Fastfetch from running in every terminal session (like when opening multiple tabs), add conditions:

For Bash/Zsh:

# Only run fastfetch in interactive sessions that aren't SSH connections
if [[ $- == *i* ]] && [[ -z $SSH_CONNECTION ]]; then
    fastfetch
fi

Or limit to the first terminal of the day:

# Only run fastfetch once per day
if [ $(date +%Y%m%d) != $(cat ~/.last_fastfetch 2>/dev/null) ]; then
    fastfetch
    date +%Y%m%d > ~/.last_fastfetch
fi

Preset Configurations and Themes

Using Built-in Presets

Fastfetch includes several built-in preset configurations:

fastfetch --preset default
fastfetch --preset small
fastfetch --preset mini
fastfetch --preset battery

To list all available presets:

fastfetch --list-presets

Community Themes

The Fastfetch community has created various themes and configurations. To find them:

  1. Browse the Fastfetch GitHub repository discussions
  2. Check Manjaro forums for user-shared configurations
  3. Look on r/unixporn or r/ManjaroLinux subreddits for showcased themes

To use a community theme, download the configuration file and use:

fastfetch --config /path/to/downloaded/config.conf

Creating and Sharing Your Own Presets

After perfecting your configuration, share it with the community:

  1. Add helpful comments to your configuration file
  2. Document any dependencies required for your preset
  3. Consider creating a GitHub Gist or repository for your theme
  4. Share on Manjaro forums or Reddit communities

Remember to mention any specific Manjaro optimizations in your shared preset.

Troubleshooting Common Issues

Missing Dependencies

If Fastfetch reports missing libraries or dependencies:

sudo pacman -S vulkan-icd-loader pciutils wayland libxrandr

For multimedia detection support:

sudo pacman -S chafa imagemagick

Display Issues

If you encounter logo display problems:

1. Try a different terminal font that supports Unicode characters

2. Use a simpler logo type:

fastfetch --logo-type ascii

3. Check your terminal’s color support:

fastfetch --color-logo false

Performance Problems

For slow execution times:

fastfetch --disable-slow-modules

Identify slow modules by running:

fastfetch --show-timing

Then disable specific slow modules in your configuration.

Update Conflicts

After system updates, if Fastfetch stops working properly:

1. Check for configuration file compatibility issues

2. Reinstall Fastfetch to ensure all components are updated:

sudo pacman -S --needed fastfetch

3. Reset to default configuration temporarily:

mv ~/.config/fastfetch/config.conf ~/.config/fastfetch/config.conf.bak
fastfetch

Tips and Tricks for Manjaro Users

Integration with Manjaro-specific Tools

Combine Fastfetch with Manjaro’s built-in system tools:

echo "### SYSTEM INFO ###" && fastfetch && echo "### MANJARO SETTINGS ###" && mhwd -li

Use Fastfetch in your welcome screen script to provide system information to new users.

Fastfetch in Scripts

Extract specific system information for scripts:

# Get system memory in JSON format for processing
MEM_INFO=$(fastfetch --structure Memory --format json)

Create a simple system monitoring script that logs changes in hardware or software configuration over time.

Alternative Output Formats

Generate system reports in different formats:

# Create a JSON report
fastfetch --format json > system_report.json

# Generate a markdown report
fastfetch --format markdown > system_report.md

# Create a CSV file for spreadsheet import
fastfetch --format csv > system_report.csv

These formats are particularly useful for system documentation or remote troubleshooting.

Congratulations! You have successfully installed Fastfetch. Thanks for using this tutorial for installing the Fastfetch on Manjaro Linux system. For additional help or useful information, we recommend you check the official Fastfetch website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button