explaingit

elisaliman/ghostty-shaders

15GLSLAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

Two animated GLSL visual effects for the Ghostty terminal emulator: pixel-art snowflakes and twinkling plus-shaped stars that draw over your terminal without covering the text.

Mindmap

mindmap
  root((ghostty-shaders))
    What it does
      Visual effects for Ghostty
      Draws over terminal text
      Text stays readable
    Shaders included
      Pixel-art snowflakes
      Twinkling plus stars
    Customization
      Parallax layers
      Fall speed
      Density and twinkle speed
      Pixel grid size
    Setup
      Copy .glsl to shaders dir
      Two config lines
      Reload config to switch
    Tech
      GLSL GPU shaders
      Ghostty terminal
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add animated pixel-art snowflakes to your Ghostty terminal for a cozy winter coding atmosphere without affecting text readability.

USE CASE 2

Swap between the snow and stars shader by changing one line in your Ghostty config to match your mood or season.

USE CASE 3

Adjust the parallax layers and fall speed values in the GLSL file to create a faster, denser snowfall or a slower, sparser effect.

Tech stack

GLSL

Getting it running

Difficulty · easy Time to first run · 5min

Requires the Ghostty terminal emulator, only two config lines needed after copying the shader file.

CC BY-NC-SA 3.0, share and adapt freely for non-commercial use with attribution, and distribute under the same license.

In plain English

This repository contains two custom visual effects for Ghostty, a terminal emulator. The effects are written in GLSL, a language used to write programs that run on the graphics card and produce visual output. One shader adds animated pixel-art snowflakes that drift and sway across the terminal window. The other adds sparse twinkling plus-shaped stars. Both effects draw on top of your terminal content without covering the text, so your commands and output remain readable underneath. Installation involves copying the .glsl files into Ghostty's shaders directory, then adding two lines to your Ghostty config file pointing to whichever shader you want and telling Ghostty to animate it. Switching between them means changing one line and reloading the config. Both shaders have a set of adjustable values near the top of the file. For the snow effect you can control things like how many parallax layers there are, how fast the flakes fall, the diagonal drift strength, and how chunky the pixel grid looks. The stars shader has similar controls for density, twinkle speed, and layer count. The snow shader is based on a 2013 shader by Andrew Baldwin, reimplemented in pixel-art style by Eli Saliman. The project is released under CC BY-NC-SA 3.0, which allows sharing and adapting the work for non-commercial purposes with attribution, under the same license.

Copy-paste prompts

Prompt 1
I use the Ghostty terminal. Walk me through installing the ghostty-shaders snow effect: where do I put the .glsl file and what lines do I add to my config?
Prompt 2
How do I adjust the pixel-art snowflake shader in ghostty-shaders to make the snow fall faster and look chunkier?
Prompt 3
Can I run both the snow and stars shaders at the same time in Ghostty, or do I have to pick one?
Open on GitHub → Explain another repo

← elisaliman on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.