How To 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:
- Custom path specified with
--config
:fastfetch --config /path/to/config
~/.config/fastfetch/config.conf
(user-specific)/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:
- Browse the Fastfetch GitHub repository discussions
- Check Manjaro forums for user-shared configurations
- 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:
- Add helpful comments to your configuration file
- Document any dependencies required for your preset
- Consider creating a GitHub Gist or repository for your theme
- 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.