#hyprland #snow #effect #graphics

app hyprsnow

Simple and configurable snow effect for Hyprland

7 releases

Uses new Rust 2024

0.1.6 Dec 10, 2025
0.1.5 Dec 9, 2025

#1162 in Command line utilities

MIT and GPL-3.0-or-later

46KB
713 lines

hyprsnow

A snow overlay for Wayland/Hyprland. Snowflakes fall across your screen, land on window titlebars and the screen bottom, then melt away.

https://github.com/user-attachments/assets/634c215b-2aa7-40e0-9172-222355349400

Note

This is a project made for fun and not tested for performance or battery usage.

Quickstart

cargo run

Installation

cargo build --release
cp target/release/hyprsnow ~/.local/bin/

OR

cargo install hyprsnow

OR

cargo install --path .

Usage

hyprsnow [OPTIONS]

Options

Option Description
--intensity <1-10> Snow intensity (default: 3)
--size-min <float> Minimum snowflake size in pixels (default: 2.0)
--size-max <float> Maximum snowflake size in pixels (default: 5.0)
--speed-min <float> Minimum fall speed in pixels/second (default: 30.0)
--speed-max <float> Maximum fall speed in pixels/second (default: 80.0)
--drift <float> Horizontal drift intensity, 0 = none, 30 = strong (default: 20.0)
--max-opacity <float> Maximum snowflake opacity, 0.0 = invisible, 1.0 = solid (default: 1.0)
--image-path <String[]> Optional list of image file paths used for rendering snowflakes. If not provided, or if the list is empty, default circular snowflakes will be used.

Configuration

Create ~/.config/hypr/hyprsnow.conf:

general {
    intensity = 5
    size_min = 2.0
    size_max = 5.0
    speed_min = 30.0
    speed_max = 80.0
    drift = 20.0
    max_opacity = 1.0
    image_path = "/path/to/snowflake/image.png"
    image_path = "/path/to/snowflake/image2.png"
}

Note: CLI arguments override config file values unless you changed the config after starting hyprsnow. Hotreload changes supercede CLI args.

Hyprland Integration

hyprsnow listens to Hyprland IPC events and updates window positions in real-time. Snowflakes will land on the top edge of your windows as you open, close, move, or resize them.

Dependencies

  • Hyprland
  • Rust

Dependencies

~66–94MB
~1.5M SLoC