This repository contains a custom configuration for fastfetch that displays a rotating carousel of images (or any file) in Kitty terminal, with optional color themes and media info.
- Cyclical or random image rotation (configurable in
carousel_logic.zsh) - Uses
kitty-directfor optimal image rendering in Kitty - Skips execution when inside Zellij to avoid duplicate banners
- Displays system info, uptime, shell, and currently playing media (via MPRIS)
- Customizable colors and ASCII art header (
VIKTHORwith Japanese symbols)
-
Clone or copy this repo to your desired location (e.g.,
~/dotfiles/fastfetch-config). -
Copy the config files to
~/.config/fastfetch/:cp -r ~/fastfetch-config/config.jsonc ~/.config/fastfetch/ cp -r ~/fastfetch-config/carousel_logic.zsh ~/.config/fastfetch/ cp -r ~/fastfetch-config/logos ~/.config/fastfetch/ # Optional: only if you want to use the sample images
💡 Note: The
logosfolder contains sample images. Replace them with your own (PNG, JPG, etc.) or add more. The script will ignorecurrent_logoand any metadata files (like.counter.txtor.shuffle_pool). -
Update your
~/.zshrcto load the carousel at startup (but skip inside Zellij):# At the VERY TOP of ~/.zshrc, before any other code: if [[ -z "$ZELLIJ" ]]; then source ~/.config/fastfetch/carousel_logic.zsh fi
⚠️ Important: This must be placed before the Powerlevel10k instant prompt block (if you use it) to avoid console output warnings. -
Create an alias for
fastfetchto enable rotation on every manual run:alias fastfetch="ff_carousel"
Add this line anywhere in your
~/.zshrc(after sourcing the carousel logic). -
Reload your shell:
source ~/.zshrc
Now, every time you open a new Kitty terminal (or run
fastfetchmanually), you’ll see a random image from yourlogosfolder, system info, and the currently playing track (if any).
-
The
carousel_logic.zshscript defines a functionff_carouselthat:- Selects an image from
~/.config/fastfetch/logos/(excluding symlinks and metadata). - Updates the symlink
current_logoto point to the selected image. - Calls
fastfetch --logo-type kitty-direct --logo "<path_to_image>"to render the image using Kitty’s graphics protocol. - (Optional) Tracks rotation via a counter or shuffle bag to avoid repeats.
- Selects an image from
-
The
config.jsoncdefines the layout, colors, and modules displayed. Feel free to edit it to match your aesthetic!
- Change rotation mode: Edit
carousel_logic.zshto switch between random, cyclical, or shuffle-bag logic. - Adjust colors: Modify the
display.colorsection inconfig.jsoncto suit your theme. - Change header: Edit the
custommodule that renders theVIKTHORpanel to your liking. - Add/remove modules: Adjust the
modulesarray inconfig.jsoncto show/hide system info.
fastfetch(version 2.61.0 or later)- Kitty terminal (for
kitty-directsupport) - A shell that supports arrays (Zsh, Bash)
- Optional:
playerctlor MPRIS-compatible player for media module
Inspired by the fastfetch-carousel repository and tailored for a Neo-Tokyo/Cyber-Industrial aesthetic.
Made with 💖 by Ivy, your digital muse.