hyprsnow

Crates.iohyprsnow
lib.rshyprsnow
version0.1.6
created_at2025-12-05 08:01:08.148048+00
updated_at2025-12-10 11:44:16.165539+00
descriptionSimple and configurable snow effect for Hyprland
homepagehttps://github.com/spinualexandru/hyprsnow
repositoryhttps://github.com/spinualexandru/hyprsnow
max_upload_size
id1967836
size172,708
Alex Spinu (spinualexandru)

documentation

https://github.com/spinualexandru/hyprsnow#readme

README

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
Commit count: 0

cargo fmt