diff --git a/modules/user/hyprland.nix b/modules/user/hyprland.nix index fe16d88..2526cf3 100644 --- a/modules/user/hyprland.nix +++ b/modules/user/hyprland.nix @@ -17,6 +17,7 @@ in { xclip awww wifitui + ( pkgs.callPackage ./packages/drvs/yin.nix {} ) ]; wayland.windowManager.hyprland = let diff --git a/modules/user/packages/drvs/yin.nix b/modules/user/packages/drvs/yin.nix new file mode 100644 index 0000000..bc1b6f1 --- /dev/null +++ b/modules/user/packages/drvs/yin.nix @@ -0,0 +1,84 @@ +{ + lib, + stdenv, + fetchFromGitHub, + + meson, + ninja, + pkg-config, + python3, + + wayland, + wayland-scanner, + wayland-protocols, + + ffmpeg, + libva, + libglvnd, +}: + +stdenv.mkDerivation { + pname = "yin"; + version = "unstable-2026-08-01"; + + src = fetchFromGitHub { + owner = "SaverinOnRails"; + repo = "yin"; + rev = "e1690636a606f83382fc79aa90379efd80d1768d"; + hash = "sha256-TYVUL0o+bwP4S2e8mO2+sLspMzlZa6LINsOYF6CC86I="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + + wayland-scanner + ]; + + buildInputs = [ + wayland + wayland-protocols + + ffmpeg + libva + libglvnd + ]; + + configurePhase = '' + runHook preConfigure + + meson setup build \ + --buildtype=release \ + --prefix=$out + + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + meson compile -C build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + install -Dm755 build/yin $out/bin/yin + install -Dm755 build/yinctl $out/bin/yinctl + + runHook postInstall + ''; + + meta = { + description = "Lightweight hardware-accelerated Wayland wallpaper daemon"; + homepage = "https://github.com/SaverinOnRails/yin"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + mainProgram = "yin"; + }; +}