Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Retrofetch

Retrofetch is a Linux utility that displays random retro animations alongside Fastfetch system information in Kitty. Inspired by the aesthetics of the 1990s and early 2000s internet, it combines classic animations with your existing system display. New-terminal startup is available only when you explicitly enable it.

Install

Requirements: Linux, Python 3.11+, Kitty's kitten, ImageMagick 7 (magick), and Fastfetch with Kitty animation and ImageMagick support. Install these through your distribution's package manager first.

git clone https://github.com/almondsun/retrofetch.git
cd retrofetch
sh install.sh --accept-source-notices

The installer downloads all three source collections (Essential, 250K_ANIMATIONS, and Anime Factory): approximately 13.71 GB, followed by upfront extraction, validation, and normalization. Allow at least 65 GiB of free working space for the default cache/data layout and several hours of preparation. Existing installations need additional room for their retained rollback library. Read the third-party source notices before using --accept-source-notices; this option acknowledges the notices, not a grant of asset rights. Nothing downloads or converts during terminal startup. Code installs into ~/.local, assets into XDG data home. Ensure ~/.local/bin is on your PATH.

For a versioned code-only source archive without Git, see installation and the v0.3.1 release notes.

Already have the extracted collection? Use sh install.sh --source /path/to/source. See installation and recovery for directory overrides, safety checks, and opt-in Bash/Zsh/Fish startup examples.

Optional source-built native acceleration avoids Python startup for supported playback. It remains opt-in and keeps Python fallback; see native setup and refresh.

Use inside Kitty

retrofetch                         # random animation plus Fastfetch
retrofetch --animation-only        # animation without system information
retrofetch --search computer       # find names, IDs, and categories
retrofetch --list                  # list selectable IDs
retrofetch --categories
retrofetch --include animals --exclude '*/spiders'
retrofetch --size 20x10
retrofetch --calibrate-layout --layout-mode fixed-height  # stable module height
retrofetch --refresh-runtime       # refresh index/capabilities, without conversion
retrofetch --file /path/to/animation.gif

Pass an ID from --list as the positional argument to select it explicitly. Discovery commands work without an interactive terminal. See the usage guide and optional TOML settings.

Retrofetch replaces only Fastfetch's logo: it does not rewrite Fastfetch configuration, reconstruct modules, or manage colors. The terminal owns playback; the prompt returns, animations scroll away normally, and clearing removes them. There is no background playback daemon. Rendering supports Kitty only, without tmux/screen passthrough.

Artwork is normalized upfront onto a common 160×160 transparent canvas, with a 20×10-cell maximum display box and no upscaling. Existing libraries can run retrofetch --normalize, then explicitly calibrate. Fixed-height calibration survives tiling and font changes; use the default width-sensitive mode when output height depends on available columns. Recalibrate after module-height changes. Startup uses a checksummed read-only index and cached native capabilities, never runtime normalization or calibration. See measured performance.

Library and source rights

The verified development library contains 36,642 eligible animation entries sharing 34,604 normalized GIFs, with all 36,332 unique native originals retained. Larger opaque variants are tried conservatively; unsuitable conversions fall back to usable transparent variants. Corrupt, ambiguous, and visually static results are excluded. See preparation rules and the verification report.

MIT covers Retrofetch's code, not the animation collection. Source notices are preserved with prepared data. Internet Archive availability is not permission to redistribute assets; review the collection's terms before using them. Git and Python release packages contain no animation collection or source archive.

Develop and verify

PYTHONPATH=src python3 -m unittest discover -s tests -v
PYTHONPATH=src python3 -m retrofetch --validate --data-dir data
PYTHONPATH=src python3 -m retrofetch --data-dir data  # after preparing development data

The suite uses the standard library and ImageMagick fixtures. Actual Kitty visual checks are documented separately in rendering verification. Contributor boundaries and architecture are in AGENTS.md and the project brief.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages