If you want to try it out, you can run the following command:
nix run github:comavius/wayggle-bg -- default --name boxwayggle-bg is a wallpaper application for Wayland compositors that supports GLSL shaders, including ShaderToy and The Book of Shaders formats. It allows you to set animated wallpapers using custom shaders.
https://www.youtube.com/watch?v=eBu3p4VQqkQ
Demonstration video above.
wayggle-bg default --name boxIn this mode, this application passes uniform variables in shader toy format, like iTime.
wayggle-bg shadertoy --fragment-shader <path-to-shadertoy-fragment.glsl>In this mode, this application passes uniform variables in The Book of Shaders format, like u_time.
wayggle-bg book-of-shaders --fragment-shader <path-to-book-of-shaders-fragment.glsl>
# You can also specify a custom vertex shader
wayggle-bg book-of-shaders --fragment-shader <path-to-book-of-shaders-fragment.glsl> --vertex-shader <path-to-book-of-shaders-vertex.glsl>Hyprland users can enable cursor support by passing --enable-cursor-support flag.
wayggle-bg is available through the Nix package manager and it's distributed as a Nix flake.
# flake.nix
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
wayggle-bg = {
url = "github:comavius/wayggle-bg";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, wayggle-bg }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
in
{
packages.default = wayggle-bg.packages.${system}.default;
};
}If you have nix installed but do not intend to configure flake.nix, you can simply nix run or nix build the package:
nix run github:comavius/wayggle-bg # for running once
nix build github:comavius/wayggle-bg # for building the appWIP
If you don't have nix installed, prepare pkg-config, libglvnd, wayland and rust toolchain.
nix developnix buildcargo build --releasecargo fmtnix fmt *cargo fmt
nix fmt *