From 7a32f4395dc22457549a43e00f9966bf630deb17 Mon Sep 17 00:00:00 2001 From: Dzming Li Date: Wed, 20 May 2026 11:09:51 +0800 Subject: [PATCH 01/21] wemeet: fix camera preview on Wayland --- pkgs/by-name/we/wemeet/package.nix | 41 +++++- pkgs/by-name/we/wemeet/wemeet-camera-fix.c | 154 +++++++++++++++++++++ 2 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/we/wemeet/wemeet-camera-fix.c diff --git a/pkgs/by-name/we/wemeet/package.nix b/pkgs/by-name/we/wemeet/package.nix index a7be0cc5fe42..227c72f898e9 100644 --- a/pkgs/by-name/we/wemeet/package.nix +++ b/pkgs/by-name/we/wemeet/package.nix @@ -20,6 +20,7 @@ systemd, udev, libGL, + libglvnd, fontconfig, freetype, openssl, @@ -173,6 +174,44 @@ let }; }; + wemeet-camera-fix = stdenv.mkDerivation { + pname = "wemeet-camera-fix"; + version = "0-unstable-2026-05-20"; + + src = ./wemeet-camera-fix.c; + + dontUnpack = true; + dontWrapQtApps = true; + + buildInputs = [ + libglvnd + libx11 + ]; + + buildPhase = '' + runHook preBuild + + $CC $CFLAGS -Wall -Wextra -fPIC -shared \ + -o libwemeet-camera-fix.so $src \ + -ldl -lEGL -lX11 + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 ./libwemeet-camera-fix.so $out/lib/libwemeet-camera-fix.so + + runHook postInstall + ''; + + meta = { + description = "Fix for WeMeet Wayland camera preview rendering"; + license = lib.licenses.mit; + }; + }; + selectSystem = attrs: attrs.${stdenv.hostPlatform.system} @@ -284,7 +323,7 @@ stdenv.mkDerivation { "--prefix QT_PLUGIN_PATH : $out/app/wemeet/plugins" ]; commonWrapperArgs = baseWrapperArgs ++ [ - "--prefix LD_PRELOAD : ${libwemeetwrap}/lib/libwemeetwrap.so:${wemeet-x11-fix}/lib/libwemeet-x11-fix.so" + "--prefix LD_PRELOAD : ${libwemeetwrap}/lib/libwemeetwrap.so:${wemeet-x11-fix}/lib/libwemeet-x11-fix.so:${wemeet-camera-fix}/lib/libwemeet-camera-fix.so" "--run 'if [[ $XDG_SESSION_TYPE == \"wayland\" ]]; then export LD_PRELOAD=${wemeet-wayland-screenshare}/lib/wemeet/libhook.so\${LD_PRELOAD:+:$LD_PRELOAD}; fi'" ]; xwaylandWrapperArgs = baseWrapperArgs ++ [ diff --git a/pkgs/by-name/we/wemeet/wemeet-camera-fix.c b/pkgs/by-name/we/wemeet/wemeet-camera-fix.c new file mode 100644 index 000000000000..0f62212dd5b1 --- /dev/null +++ b/pkgs/by-name/we/wemeet/wemeet-camera-fix.c @@ -0,0 +1,154 @@ +/* + * LD_PRELOAD shim for WeMeet's camera preview on Wayland. + * + * WeMeet's libxcast.so uses EGL to render the local camera preview. It links + * against libEGL and libX11, and later passes X11 native windows to EGL. In a + * Wayland session, Mesa can choose the Wayland EGL platform for + * eglGetDisplay(NULL), which makes libxcast.so hand an X11 XID to the Wayland + * platform path when creating its window surface. The camera still opens and + * remote participants can see it, but the local preview fails to render or may + * crash. + * + * Only for calls originating in libxcast.so, force EGL display creation through + * the X11 platform. Qt/QtWebEngine and other callers continue to use their + * normal EGL path. + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifndef EGL_PLATFORM_X11_KHR +#define EGL_PLATFORM_X11_KHR 0x31D5 +#endif + +typedef EGLDisplay (*pfn_eglGetDisplay)(EGLNativeDisplayType); +typedef EGLDisplay (*pfn_eglGetPlatformDisplay)(EGLenum, void *, const EGLAttrib *); +typedef EGLDisplay (*pfn_eglGetPlatformDisplayEXT)(EGLenum, void *, const EGLint *); + +static pfn_eglGetDisplay real_eglGetDisplay; +static pfn_eglGetPlatformDisplay real_eglGetPlatformDisplay; +static pfn_eglGetPlatformDisplayEXT real_eglGetPlatformDisplayEXT; + +static EGLDisplay x11_egl_display = EGL_NO_DISPLAY; +static Display *x_display; +static pthread_once_t once_resolve = PTHREAD_ONCE_INIT; +static pthread_once_t once_x11 = PTHREAD_ONCE_INIT; + +static int debug_enabled(void) +{ + static int value = -1; + if (value < 0) { + value = getenv("WEMEET_CAMERA_FIX_DEBUG") != NULL; + } + return value; +} + +#define LOG(...) \ + do { \ + if (debug_enabled()) { \ + fprintf(stderr, "[wemeet-camera-fix] " __VA_ARGS__); \ + } \ + } while (0) + +static void resolve_real_symbols(void) +{ + real_eglGetDisplay = (pfn_eglGetDisplay)dlsym(RTLD_NEXT, "eglGetDisplay"); + real_eglGetPlatformDisplay = + (pfn_eglGetPlatformDisplay)dlsym(RTLD_NEXT, "eglGetPlatformDisplay"); + real_eglGetPlatformDisplayEXT = + (pfn_eglGetPlatformDisplayEXT)dlsym(RTLD_NEXT, "eglGetPlatformDisplayEXT"); +} + +static void init_x11_egl_display(void) +{ + pthread_once(&once_resolve, resolve_real_symbols); + + x_display = XOpenDisplay(NULL); + if (!x_display) { + fprintf(stderr, "[wemeet-camera-fix] XOpenDisplay(NULL) failed; DISPLAY=%s\n", + getenv("DISPLAY") ? getenv("DISPLAY") : "(unset)"); + return; + } + + if (real_eglGetPlatformDisplay) { + x11_egl_display = + real_eglGetPlatformDisplay(EGL_PLATFORM_X11_KHR, x_display, NULL); + } else if (real_eglGetPlatformDisplayEXT) { + x11_egl_display = + real_eglGetPlatformDisplayEXT(EGL_PLATFORM_X11_KHR, x_display, NULL); + } else if (real_eglGetDisplay) { + x11_egl_display = real_eglGetDisplay((EGLNativeDisplayType)x_display); + } + + LOG("initialized X11 EGLDisplay=%p for X Display*=%p\n", + (void *)x11_egl_display, (void *)x_display); +} + +static int caller_is_xcast(void *caller) +{ + Dl_info info; + + if (!caller) { + return 0; + } + memset(&info, 0, sizeof(info)); + if (!dladdr(caller, &info) || !info.dli_fname) { + return 0; + } + return strstr(info.dli_fname, "libxcast.so") != NULL; +} + +EGLDisplay eglGetDisplay(EGLNativeDisplayType display_id) +{ + pthread_once(&once_resolve, resolve_real_symbols); + + if (caller_is_xcast(__builtin_return_address(0))) { + pthread_once(&once_x11, init_x11_egl_display); + LOG("eglGetDisplay from libxcast.so -> %p\n", (void *)x11_egl_display); + return x11_egl_display; + } + + return real_eglGetDisplay ? real_eglGetDisplay(display_id) : EGL_NO_DISPLAY; +} + +EGLDisplay eglGetPlatformDisplay(EGLenum platform, void *native_display, + const EGLAttrib *attrib_list) +{ + pthread_once(&once_resolve, resolve_real_symbols); + + if (caller_is_xcast(__builtin_return_address(0))) { + pthread_once(&once_x11, init_x11_egl_display); + LOG("eglGetPlatformDisplay from libxcast.so -> %p\n", + (void *)x11_egl_display); + return x11_egl_display; + } + + return real_eglGetPlatformDisplay + ? real_eglGetPlatformDisplay(platform, native_display, attrib_list) + : EGL_NO_DISPLAY; +} + +EGLDisplay eglGetPlatformDisplayEXT(EGLenum platform, void *native_display, + const EGLint *attrib_list) +{ + pthread_once(&once_resolve, resolve_real_symbols); + + if (caller_is_xcast(__builtin_return_address(0))) { + pthread_once(&once_x11, init_x11_egl_display); + LOG("eglGetPlatformDisplayEXT from libxcast.so -> %p\n", + (void *)x11_egl_display); + return x11_egl_display; + } + + return real_eglGetPlatformDisplayEXT + ? real_eglGetPlatformDisplayEXT(platform, native_display, attrib_list) + : EGL_NO_DISPLAY; +} From 5bf95102a5f03375d81c5a77f26a551fd6c95209 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 14 Jun 2026 22:17:35 -0500 Subject: [PATCH 02/21] fastfetch-unwrapped: migrate from fastfetch.minimal Convert the passthru override approach to a simple unwrapped/wrapped variant approach to make the split more obvious what is being done. Also makes the `minimal` version of fastfetch still build with support for runtime discovery of optional dependencies. --- .../fa/fastfetch-unwrapped/package.nix | 169 +++++++ pkgs/by-name/fa/fastfetch/package.nix | 461 +++++++----------- pkgs/top-level/aliases.nix | 2 +- 3 files changed, 336 insertions(+), 296 deletions(-) create mode 100644 pkgs/by-name/fa/fastfetch-unwrapped/package.nix diff --git a/pkgs/by-name/fa/fastfetch-unwrapped/package.nix b/pkgs/by-name/fa/fastfetch-unwrapped/package.nix new file mode 100644 index 000000000000..9c7880bb70b1 --- /dev/null +++ b/pkgs/by-name/fa/fastfetch-unwrapped/package.nix @@ -0,0 +1,169 @@ +{ + lib, + stdenv, + fetchFromGitHub, + apple-sdk_15, + chafa, + cmake, + dbus, + dconf, + ddcutil, + enlightenment, + glib, + hwdata, + imagemagick, + libdrm, + libelf, + libglvnd, + libpulseaudio, + libselinux, + libsepol, + libsysprof-capture, + libva, + libvdpau, + libxau, + libxcb, + libxdmcp, + libxext, + libxrandr, + moltenvk, + nix-update-script, + ocl-icd, + opencl-headers, + pcre2, + pkg-config, + python3, + rpm, + sqlite, + util-linux, + versionCheckHook, + vulkan-loader, + wayland, + xfconf, + yyjson, + zfs, + zlib, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "fastfetch-unwrapped"; + version = "2.64.2"; + + strictDeps = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "fastfetch-cli"; + repo = "fastfetch"; + tag = finalAttrs.version; + hash = "sha256-isSVcmtNglHy7+F3yemGyY8Jnsy3h5mjOnl159CyJ2Q="; + }; + + outputs = [ + "out" + "man" + ]; + + nativeBuildInputs = [ + cmake + pkg-config + python3 + ]; + + buildInputs = [ + chafa + imagemagick + sqlite + yyjson + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + dbus + dconf + ddcutil + enlightenment.efl + glib + libdrm + libelf + libglvnd + libpulseaudio + libselinux + libsepol + libsysprof-capture + libva + libvdpau + libxau + libxcb + libxdmcp + libxext + libxrandr + ocl-icd + opencl-headers + pcre2 + rpm + util-linux + vulkan-loader + wayland + xfconf + zfs + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_15 + moltenvk + ]; + + cmakeFlags = [ + (lib.cmakeOptionType "filepath" "CMAKE_INSTALL_SYSCONFDIR" "${placeholder "out"}/etc") + (lib.cmakeBool "ENABLE_DIRECTX_HEADERS" false) + (lib.cmakeBool "ENABLE_SYSTEM_YYJSON" true) + + # Upstream defaults optional feature support to on when the platform allows it. + (lib.cmakeBool "ENABLE_IMAGEMAGICK6" false) + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # Embed these databases instead of referring to hwdata and libdrm at runtime. + (lib.cmakeBool "ENABLE_EMBEDDED_PCIIDS" true) + (lib.cmakeBool "ENABLE_EMBEDDED_AMDGPUIDS" true) + ]; + + # Upstream completions run Python when shells expand options from + # `fastfetch --help-raw`. Keep this runtime dependency explicit until + # upstream generates static completions at build time. + postPatch = '' + substituteInPlace completions/fastfetch.{bash,fish,zsh} --replace-fail python3 '${python3.interpreter}' + ''; + + preConfigure = lib.optionalString stdenv.hostPlatform.isLinux '' + buildDir="''${cmakeBuildDir:-build}" + mkdir -p "$buildDir" + cp ${hwdata}/share/hwdata/pci.ids "$buildDir/pci.ids" + cp ${libdrm}/share/libdrm/amdgpu.ids "$buildDir/amdgpu.ids" + ''; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Actively maintained, feature-rich and performance oriented, neofetch like system information tool"; + homepage = "https://github.com/fastfetch-cli/fastfetch"; + changelog = "https://github.com/fastfetch-cli/fastfetch/releases/tag/${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + defelo + khaneliman + luftmensch-luftmensch + ]; + platforms = lib.platforms.all; + mainProgram = "fastfetch"; + longDescription = '' + Fast and highly customizable system info script. + + This unwrapped build compiles optional feature support but does not wrap + runtime libraries into its closure. + ''; + }; +}) diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix index c21ce3611bd9..ba8376d93071 100644 --- a/pkgs/by-name/fa/fastfetch/package.nix +++ b/pkgs/by-name/fa/fastfetch/package.nix @@ -1,53 +1,36 @@ { lib, stdenv, - fetchFromGitHub, + runCommand, apple-sdk_15, chafa, - cmake, dbus, dconf, ddcutil, enlightenment, glib, - hwdata, imagemagick, - libxrandr, libdrm, libelf, libglvnd, libpulseaudio, - libselinux, - libsepol, - libsysprof-capture, - libxcb, libva, libvdpau, + libxcb, + libxrandr, makeBinaryWrapper, moltenvk, - nix-update-script, ocl-icd, - opencl-headers, - pcre2, - pkg-config, - python3, rpm, sqlite, - util-linux, - versionCheckHook, vulkan-loader, wayland, xfconf, - libxext, - libxdmcp, - libxau, - yyjson, - zlib, zfs, + zlib, + fastfetch-unwrapped, - fastfetch, - - # Feature flags + # Runtime dependency selectors. fastfetch-unwrapped is always built with support enabled. audioSupport ? true, brightnessSupport ? true, codecSupport ? true, @@ -67,280 +50,168 @@ x11Support ? true, xfceSupport ? true, zfsSupport ? false, + + runtimeDependencies ? null, + extraRuntimeDependencies ? [ ], + runtimePrograms ? [ ], + extraRuntimePrograms ? [ ], }: -stdenv.mkDerivation (finalAttrs: { - pname = "fastfetch"; - version = "2.64.2"; - strictDeps = true; - __structuredAttrs = true; +let + unwrapped = fastfetch-unwrapped; - src = fetchFromGitHub { - owner = "fastfetch-cli"; - repo = "fastfetch"; - tag = finalAttrs.version; - hash = "sha256-isSVcmtNglHy7+F3yemGyY8Jnsy3h5mjOnl159CyJ2Q="; - }; - - outputs = [ - "out" - "man" - ]; - - nativeBuildInputs = [ - cmake - makeBinaryWrapper - pkg-config - python3 - ]; - - buildInputs = - let - commonDeps = [ yyjson ]; - - # Cross-platform optional dependencies - imageDeps = lib.optionals imageSupport [ - # Image output as ascii art. - chafa - # Images in terminal using sixel or kitty graphics protocol - imagemagick - ]; - - sqliteDeps = lib.optionals sqliteSupport [ - # linux - Needed for pkg & rpm package count. - # darwin - Used for fast wallpaper detection before macOS Sonoma - sqlite - ]; - - linuxCoreDeps = lib.optionals stdenv.hostPlatform.isLinux ( - [ hwdata ] - # Fallback if both `wayland` and `x11` are not available. AMD GPU properties detection - ++ lib.optional (!x11Support && !waylandSupport) libdrm - ); - - linuxFeatureDeps = lib.optionals stdenv.hostPlatform.isLinux ( - lib.optionals audioSupport [ - # Sound device detection - libpulseaudio - ] - ++ lib.optionals brightnessSupport [ - # Brightness detection of external displays - ddcutil - ] - ++ lib.optionals codecSupport [ - # Hardware-accelerated video codec detection - libva - libvdpau - ] - ++ lib.optionals dbusSupport [ - # Bluetooth, wifi, player & media detection - dbus - ] - ++ lib.optionals enlightenmentSupport [ - # Eet support for reading Enlightenment window manager configuration. - enlightenment.efl - ] - ++ lib.optionals gnomeSupport [ - # Needed for values that are only stored in DConf + Fallback for GSettings. - dconf - glib - # Required by glib messages - libsysprof-capture - pcre2 - # Required by gio messages - libselinux - util-linux - # Required by selinux - libsepol - ] - ++ lib.optionals imageSupport [ - # Faster image output when using kitty graphics protocol. - zlib - ] - ++ lib.optionals openclSupport [ - # OpenCL module - ocl-icd - opencl-headers - ] - ++ lib.optionals openglSupport [ - # OpenGL module - libglvnd - ] - ++ lib.optionals rpmSupport [ - # Slower fallback for rpm package count. Needed on openSUSE. - rpm - ] - ++ lib.optionals terminalSupport [ - # Needed for st terminal font detection. - libelf - ] - ++ lib.optionals vulkanSupport [ - # Vulkan module & fallback for GPU output - vulkan-loader - ] - ++ lib.optionals waylandSupport [ - # Better display performance and output in wayland sessions. Supports different refresh rates per monitor. - wayland - ] - ++ lib.optionals x11Support [ - # At least one of them sould be present in X11 sessions for better display detection and faster WM detection. - # The *randr ones provide multi monitor support The libxcb* ones usually have better performance. - libxrandr - libxcb - # Required by libxcb messages - libxau - libxdmcp - libxext - ] - ++ lib.optionals xfceSupport [ - # Needed for XFWM theme and XFCE Terminal font. - xfconf - ] - ++ lib.optionals zfsSupport [ - # Needed for zpool module - zfs - ] - ); - - macosDeps = lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_15 - moltenvk - ]; - in - commonDeps ++ imageDeps ++ sqliteDeps ++ linuxCoreDeps ++ linuxFeatureDeps ++ macosDeps; - - cmakeFlags = [ - (lib.cmakeOptionType "filepath" "CMAKE_INSTALL_SYSCONFDIR" "${placeholder "out"}/etc") - (lib.cmakeBool "ENABLE_DIRECTX_HEADERS" false) - (lib.cmakeBool "ENABLE_SYSTEM_YYJSON" true) - - # Feature flags - (lib.cmakeBool "BUILD_FLASHFETCH" flashfetchSupport) - - (lib.cmakeBool "ENABLE_IMAGEMAGICK6" false) - (lib.cmakeBool "ENABLE_IMAGEMAGICK7" imageSupport) - (lib.cmakeBool "ENABLE_CHAFA" imageSupport) - - (lib.cmakeBool "ENABLE_SQLITE3" sqliteSupport) - - (lib.cmakeBool "ENABLE_LIBZFS" zfsSupport) - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - (lib.cmakeBool "ENABLE_PULSE" audioSupport) - - (lib.cmakeBool "ENABLE_VA" codecSupport) - (lib.cmakeBool "ENABLE_VDPAU" codecSupport) - - (lib.cmakeBool "ENABLE_DDCUTIL" brightnessSupport) - - (lib.cmakeBool "ENABLE_DBUS" dbusSupport) - - (lib.cmakeBool "ENABLE_EET" enlightenmentSupport) - - (lib.cmakeBool "ENABLE_ELF" terminalSupport) - - (lib.cmakeBool "ENABLE_GIO" gnomeSupport) - (lib.cmakeBool "ENABLE_DCONF" gnomeSupport) - - (lib.cmakeBool "ENABLE_ZLIB" imageSupport) - - (lib.cmakeBool "ENABLE_OPENCL" openclSupport) - - (lib.cmakeBool "ENABLE_EGL" openglSupport) - (lib.cmakeBool "ENABLE_GLX" openglSupport) - - (lib.cmakeBool "ENABLE_RPM" rpmSupport) - - (lib.cmakeBool "ENABLE_DRM" (!x11Support && !waylandSupport)) - (lib.cmakeBool "ENABLE_DRM_AMDGPU" (!x11Support && !waylandSupport)) - - (lib.cmakeBool "ENABLE_VULKAN" vulkanSupport) - - (lib.cmakeBool "ENABLE_WAYLAND" waylandSupport) - - (lib.cmakeBool "ENABLE_XCB_RANDR" x11Support) - (lib.cmakeBool "ENABLE_XRANDR" x11Support) - - (lib.cmakeBool "ENABLE_XFCONF" xfceSupport) - - (lib.cmakeOptionType "filepath" "CUSTOM_PCI_IDS_PATH" "${hwdata}/share/hwdata/pci.ids") - (lib.cmakeOptionType "filepath" "CUSTOM_AMDGPU_IDS_PATH" "${libdrm}/share/libdrm/amdgpu.ids") - ]; - - postPatch = '' - substituteInPlace completions/fastfetch.{bash,fish,zsh} --replace-fail python3 '${python3.interpreter}' - ''; - - postInstall = '' - wrapProgram $out/bin/fastfetch \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" - '' - + lib.optionalString flashfetchSupport '' - wrapProgram $out/bin/flashfetch \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" - ''; - - nativeInstallCheckInputs = [ versionCheckHook ]; - doInstallCheck = true; - - passthru = { - updateScript = nix-update-script { }; - # finalAttrs.finalPackage.override doesn’t exist - minimal = fastfetch.override { - audioSupport = false; - brightnessSupport = false; - codecSupport = false; - dbusSupport = false; - enlightenmentSupport = false; - flashfetchSupport = false; - gnomeSupport = false; - imageSupport = false; - openclSupport = false; - openglSupport = false; - rpmSupport = false; - sqliteSupport = false; - terminalSupport = false; - vulkanSupport = false; - waylandSupport = false; - x11Support = false; - xfceSupport = false; - }; - }; - - meta = { - description = "Actively maintained, feature-rich and performance oriented, neofetch like system information tool"; - homepage = "https://github.com/fastfetch-cli/fastfetch"; - changelog = "https://github.com/fastfetch-cli/fastfetch/releases/tag/${finalAttrs.version}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ - luftmensch-luftmensch - khaneliman - defelo + defaultRuntimeDependencies = + lib.optionals imageSupport [ + # Image output as ascii art. + chafa + # Images in terminal using sixel or kitty graphics protocol + imagemagick + ] + ++ lib.optionals sqliteSupport [ + # linux - Needed for pkg & rpm package count. + # darwin - Used for fast wallpaper detection before macOS Sonoma + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isLinux ( + [ + # DRM display and AMD GPU detection. + libdrm + ] + ++ lib.optionals audioSupport [ + # Sound device detection + libpulseaudio + ] + ++ lib.optionals brightnessSupport [ + # Brightness detection of external displays + ddcutil + ] + ++ lib.optionals codecSupport [ + # Hardware-accelerated video codec detection + libva + libvdpau + ] + ++ lib.optionals dbusSupport [ + # Bluetooth, wifi, player & media detection + dbus + ] + ++ lib.optionals enlightenmentSupport [ + # Eet support for reading Enlightenment window manager configuration. + enlightenment.efl + ] + ++ lib.optionals gnomeSupport [ + # Needed for values that are only stored in DConf + Fallback for GSettings. + dconf + glib + ] + ++ lib.optionals imageSupport [ + # Faster image output when using kitty graphics protocol. + zlib + ] + ++ lib.optionals openclSupport [ + # OpenCL module + ocl-icd + ] + ++ lib.optionals openglSupport [ + # OpenGL module + libglvnd + ] + ++ lib.optionals rpmSupport [ + # Slower fallback for rpm package count. Needed on openSUSE. + rpm + ] + ++ lib.optionals terminalSupport [ + # Needed for st terminal font detection. + libelf + ] + ++ lib.optionals vulkanSupport [ + # Vulkan module & fallback for GPU output + vulkan-loader + ] + ++ lib.optionals waylandSupport [ + # Better display performance and output in wayland sessions. + wayland + ] + ++ lib.optionals x11Support [ + # Better display detection and faster WM detection in X11 sessions. + libxrandr + libxcb + ] + ++ lib.optionals xfceSupport [ + # Needed for XFWM theme and XFCE Terminal font. + xfconf + ] + ++ lib.optionals zfsSupport [ + # Needed for zpool module + zfs + ] + ) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_15 + moltenvk ]; - platforms = lib.platforms.all; - mainProgram = "fastfetch"; - longDescription = '' - Fast and highly customizable system info script. - Feature flags (all default to 'true' except rpmSupport, flashfetchSupport and zfsSupport): - * audioSupport: PulseAudio functionality - * brightnessSupport: External display brightness detection via DDCUtil - * codecSupport: Hardware-accelerated video codec detection - * dbusSupport: DBus functionality for Bluetooth, WiFi, player & media detection - * enlightenmentSupport: Enlightenment configuration detection via EFL's Eet - * flashfetchSupport: Build the flashfetch utility (default: false) - * gnomeSupport: GNOME integration (dconf, dbus, gio) - * imageSupport: Image rendering (chafa and imagemagick) - * openclSupport: OpenCL features - * openglSupport: OpenGL features - * rpmSupport: RPM package detection (default: false) - * sqliteSupport: Package counting via SQLite - * terminalSupport: Terminal font detection - * vulkanSupport: Vulkan GPU information and DRM features - * waylandSupport: Wayland display detection - * x11Support: X11 display information - * xfceSupport: XFCE integration for theme and terminal font detection - * zfsSupport: zpool information - ''; - }; -}) + resolvedRuntimeDependencies = + (if runtimeDependencies == null then defaultRuntimeDependencies else runtimeDependencies) + ++ extraRuntimeDependencies; + + resolvedRuntimePrograms = runtimePrograms ++ extraRuntimePrograms; + + runtimeLibraryPath = lib.makeLibraryPath resolvedRuntimeDependencies; + runtimeProgramPath = lib.makeBinPath resolvedRuntimePrograms; +in +runCommand "fastfetch-${unwrapped.version}" + { + pname = "fastfetch"; + inherit (unwrapped) version; + + strictDeps = true; + __structuredAttrs = true; + + outputs = [ + "out" + "man" + ]; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + passthru = (removeAttrs unwrapped.passthru [ "updateScript" ]) // { + inherit unwrapped; + runtimeDependencies = resolvedRuntimeDependencies; + runtimePrograms = resolvedRuntimePrograms; + minimal = lib.warnOnInstantiate "`fastfetch.minimal` has been renamed to `fastfetch-unwrapped`" unwrapped; + }; + + meta = unwrapped.meta // { + priority = (unwrapped.meta.priority or lib.meta.defaultPriority) - 1; + longDescription = '' + Fast and highly customizable system info script. + + This wrapped package makes optional runtime libraries available to the + full-featured fastfetch-unwrapped binary. + ''; + }; + + preferLocalBuild = true; + } + '' + makeWrapperArgs=(--inherit-argv0) + + if [ -n "${runtimeLibraryPath}" ]; then + makeWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}") + fi + + if [ -n "${runtimeProgramPath}" ]; then + makeWrapperArgs+=(--prefix PATH : "${runtimeProgramPath}") + fi + + mkdir -p "$out/bin" + makeWrapper ${unwrapped}/bin/fastfetch "$out/bin/fastfetch" "''${makeWrapperArgs[@]}" + + ${lib.optionalString flashfetchSupport '' + makeWrapper ${unwrapped}/bin/flashfetch "$out/bin/flashfetch" "''${makeWrapperArgs[@]}" + ''} + + ln -s ${unwrapped}/share "$out/share" + + ln -s ${unwrapped.man} "$man" + '' diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index dac97a477fa5..dd122f378d05 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -721,7 +721,7 @@ mapAliases { fabs = throw "'fabs' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 fancontrol-gui = throw "'fancontrol-gui' has been removed due to outdated KF5 dependencies"; # Added 2026-05-01 fast-cli = throw "'fast-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17 - fastfetchMinimal = warnAlias "'fastfetchMinimal' has been renamed to 'fastfetch.minimal'" fastfetch.minimal; # Added 2026-05-18 + fastfetchMinimal = warnAlias "'fastfetchMinimal' has been renamed to 'fastfetch-unwrapped'" fastfetch-unwrapped; # Added 2026-05-18 fastJson = warnAlias "'fastJson' has been renamed to 'libfastjson'" libfastjson; # Added 2026-02-08 fastnlo_toolkit = throw "'fastnlo_toolkit' has been renamed to/replaced by 'fastnlo-toolkit'"; # Converted to throw 2025-10-27 faustPhysicalModeling = warnAlias "'faustPhysicalModeling' has been renamed to 'faust-physicalmodeling'" faust-physicalmodeling; # Added 2026-02-08 From b9d700b759322d739576540a1d6575d7a2c97f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luukas=20P=C3=B6rtfors?= Date: Tue, 26 May 2026 15:27:07 +0300 Subject: [PATCH 03/21] kitsas: add lajp as maintainer --- pkgs/by-name/ki/kitsas/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ki/kitsas/package.nix b/pkgs/by-name/ki/kitsas/package.nix index d96b64028c4d..d54b1f68ad55 100644 --- a/pkgs/by-name/ki/kitsas/package.nix +++ b/pkgs/by-name/ki/kitsas/package.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/artoh/kitupiikki"; license = lib.licenses.gpl3Plus; mainProgram = "kitsas"; - maintainers = [ ]; + maintainers = [ lib.maintainers.lajp ]; platforms = lib.platforms.unix; }; }) From fb8babf2a3dd17cdeabddc3ff5ffe49ef94481a9 Mon Sep 17 00:00:00 2001 From: nartsisss Date: Tue, 16 Jun 2026 19:38:44 +0300 Subject: [PATCH 04/21] prmt: 0.2.6 -> 0.6.0 --- pkgs/by-name/pr/prmt/package.nix | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/pr/prmt/package.nix b/pkgs/by-name/pr/prmt/package.nix index df934de2e08b..e239a4d931e9 100644 --- a/pkgs/by-name/pr/prmt/package.nix +++ b/pkgs/by-name/pr/prmt/package.nix @@ -7,34 +7,38 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "prmt"; - version = "0.2.6"; + version = "0.6.0"; + __structuredAttrs = true; src = fetchFromGitHub { repo = "prmt"; owner = "3axap4eHko"; tag = "v${finalAttrs.version}"; - hash = "sha256-/B+Z+m9xpCK04f3/p2URzM0J66OGDX6mB/Zcede+XSo="; + hash = "sha256-pLxWArZzGU1vjS2DOJ6PyrhYC2XbkAD5SfiFjHTaQfI="; }; - cargoHash = "sha256-Oui5po+She93GmcTNjHMt3syYULBVchcndOuDYgWwME="; + cargoHash = "sha256-hmtKmnSnSGgivY+dmC4WlMuCJGTVM6GI5k0pZcfzYso="; # Fail to run in sandbox environment checkFlags = map (t: "--skip=${t}") [ - "modules::path::tests::relative_path_inside_home_renders_tilde" - "modules::path::tests::relative_path_with_shared_prefix_is_not_tilde" "test_git_module" + "modules::git::tests::empty_dir_tree_not_reported_as_untracked" + "modules::git::tests::empty_repo_has_no_untracked_status_in_gix_path" + "modules::git::tests::empty_repo_has_no_untracked_status_in_slow_path" + "modules::git::tests::untracked_file_sets_untracked_status_in_gix_path" + "modules::git::tests::xdg_ignored_progress_dir_does_not_set_untracked_status" + "modules::git::tests::xdg_ignored_progress_dir_stays_clean_in_gix_path" ]; - nativeInstallCheckInputs = [ versionCheckHook ]; - doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; passthru.updateScript = nix-update-script { }; meta = { description = "Ultra-fast, customizable shell prompt generator"; homepage = "https://github.com/3axap4eHko/prmt"; - changelog = "https://github.com/3axap4eHko/prmt/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/3axap4eHko/prmt/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ nartsiss ]; mainProgram = "prmt"; From b26384ff1fcdb7d795266d2434c9aa7c16c5a8ab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Jun 2026 04:38:21 +0000 Subject: [PATCH 05/21] cudaPackages.cudnn-frontend: 1.24.0 -> 1.25.0 --- .../cuda-modules/packages/cudnn-frontend/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/cuda-modules/packages/cudnn-frontend/package.nix b/pkgs/development/cuda-modules/packages/cudnn-frontend/package.nix index 5616fd7bd5d7..b6acd3a2eff5 100644 --- a/pkgs/development/cuda-modules/packages/cudnn-frontend/package.nix +++ b/pkgs/development/cuda-modules/packages/cudnn-frontend/package.nix @@ -32,13 +32,13 @@ backendStdenv.mkDerivation (finalAttrs: { name = "${cudaNamePrefix}-${finalAttrs.pname}-${finalAttrs.version}"; pname = "cudnn-frontend"; - version = "1.24.0"; + version = "1.25.0"; src = fetchFromGitHub { owner = "NVIDIA"; repo = "cudnn-frontend"; tag = "v${finalAttrs.version}"; - hash = "sha256-I6el8e6Jo1l/S5eqxWiH2KksNxw4hJ+av5qj/yqJjI8="; + hash = "sha256-zUCrLJvkqw2FUgBR2mDwaqnmyQ21xuexNJb1omgbJRw="; }; # nlohmann_json should be the only vendored dependency. From a60126f4a047a36bbb2323e922e681537d994a76 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Jun 2026 10:43:33 +0000 Subject: [PATCH 06/21] cc-switch: 3.16.1 -> 3.16.3 --- pkgs/by-name/cc/cc-switch/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cc/cc-switch/package.nix b/pkgs/by-name/cc/cc-switch/package.nix index 902b3fbdc363..7a873163b815 100644 --- a/pkgs/by-name/cc/cc-switch/package.nix +++ b/pkgs/by-name/cc/cc-switch/package.nix @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cc-switch"; - version = "3.16.1"; + version = "3.16.3"; __structuredAttrs = true; strictDeps = true; @@ -34,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "farion1231"; repo = "cc-switch"; tag = "v${finalAttrs.version}"; - hash = "sha256-9X7/5/6YPDGr31ZUwx+ZzujFCRiTlKN8Y/qOTtj7OyE="; + hash = "sha256-jj7FHJtXn127hqpjCe6buxvJNCtWxRe5HZPY8NRcglM="; }; pnpmDeps = fetchPnpmDeps { @@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoRoot = "src-tauri"; buildAndTestSubdir = finalAttrs.cargoRoot; - cargoHash = "sha256-Uy85VwcPv3NVxGDe4ojfArHg5kgOe4cjrHdmgnD/eiM="; + cargoHash = "sha256-PfTkrD3ts/OugZ5qM82tTfWwSOcSddgDYzQhr6wLvOg="; nativeBuildInputs = [ jq From 84dd657437bc18f1c6017537a28d5baa0f580e1d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Jun 2026 14:05:10 +0000 Subject: [PATCH 07/21] dolt: 2.1.4 -> 2.1.7 --- pkgs/by-name/do/dolt/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/do/dolt/package.nix b/pkgs/by-name/do/dolt/package.nix index 52c854e7789a..3ab48f9fb876 100644 --- a/pkgs/by-name/do/dolt/package.nix +++ b/pkgs/by-name/do/dolt/package.nix @@ -7,18 +7,18 @@ buildGoModule (finalAttrs: { pname = "dolt"; - version = "2.1.4"; + version = "2.1.7"; src = fetchFromGitHub { owner = "dolthub"; repo = "dolt"; tag = "v${finalAttrs.version}"; - hash = "sha256-0AyKwejOvTMgt53B22D0EIWuAwB/6QxxTHd0S77Fu1M="; + hash = "sha256-ZMK0XiVaSZObr23mQ3OKA5t8wDV8l8SN2Rhh3VjJo1w="; }; modRoot = "./go"; subPackages = [ "cmd/dolt" ]; - vendorHash = "sha256-tKkXZdbNFxyVK76aNkNDM3/s3e6J7aqLvAnA+jQBSNg="; + vendorHash = "sha256-l0SHq3WTajqGTE5sV6RgLgVLS+i7AhAxfJkJmAvv2ok="; proxyVendor = true; doCheck = false; From d4333ce9a3a485430137a2a6a26e2c0c850d67bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Wed, 17 Jun 2026 15:05:33 +0100 Subject: [PATCH 08/21] polkadot: 2603 -> 2603-3 --- pkgs/by-name/po/polkadot/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/polkadot/package.nix b/pkgs/by-name/po/polkadot/package.nix index 61d21a165368..ee742b3f016c 100644 --- a/pkgs/by-name/po/polkadot/package.nix +++ b/pkgs/by-name/po/polkadot/package.nix @@ -14,13 +14,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "polkadot"; - version = "2603"; + version = "2603-3"; src = fetchFromGitHub { owner = "paritytech"; repo = "polkadot-sdk"; rev = "polkadot-stable${finalAttrs.version}"; - hash = "sha256-vm8WUeIkgulCq9nwqQZsA5VHVv3vMEo66UNdHEhtmHY="; + hash = "sha256-uNyB7N9M4wQTKQOSFMMOzqhRVwxCJfS+YYE04D3OACQ="; # the build process of polkadot requires a .git folder in order to determine # the git commit hash that is being built and add it to the version string. @@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ./picosimd-0.9.3.patch ]; - cargoHash = "sha256-Da18rlsU8s045AzI3dZ6EhYm+CCAQFygrvVCZhudVaY="; + cargoHash = "sha256-Y0D7M01fAgDrXKOXsyi4qsyb/2cLRWUcuo0Za01yD8k="; buildType = "production"; buildAndTestSubdir = "polkadot"; From b345162d154b432eb6c7c813590e9fcae01396bc Mon Sep 17 00:00:00 2001 From: DerGrumpf Date: Wed, 17 Jun 2026 21:33:29 +0200 Subject: [PATCH 09/21] gs1200-exporter: 2.11.12 -> 2.11.13 --- pkgs/by-name/gs/gs1200-exporter/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gs/gs1200-exporter/package.nix b/pkgs/by-name/gs/gs1200-exporter/package.nix index bbbec26d705a..25d6bdf1ac7f 100644 --- a/pkgs/by-name/gs/gs1200-exporter/package.nix +++ b/pkgs/by-name/gs/gs1200-exporter/package.nix @@ -6,15 +6,18 @@ }: buildGoModule rec { pname = "gs1200-exporter"; - version = "2.11.12"; + version = "2.11.13"; __structuredAttrs = true; src = fetchFromGitHub { owner = "robinelfrink"; repo = "gs1200-exporter"; tag = "v${version}"; - hash = "sha256-8s2VgaqYXp9PN2oNU/sWpjQjDPSWolbWEVSZcx9Lh3M="; + hash = "sha256-s+CdJBa9k4DBYBiwEAtWJz1r6DvDQtZR+dEB3FBSu3g="; }; - vendorHash = "sha256-204bFaywOolKVNoeH/w72Ba1PYAVgQawEmlaEXgRaRY="; + vendorHash = "sha256-R8is2TM2npCY1eOTRsL1spTJWf/KiBqHpjr4EjraLeU="; + postPatch = '' + substituteInPlace go.mod --replace-fail "go 1.26.4" "go 1.26.3" + ''; passthru.tests = { inherit (nixosTests) gs1200-exporter; }; From fd0f657b01b5cb3b9841641b932bf9737149cd44 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Jun 2026 22:37:26 +0000 Subject: [PATCH 10/21] glances: 4.5.4 -> 4.5.5 --- pkgs/by-name/gl/glances/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gl/glances/package.nix b/pkgs/by-name/gl/glances/package.nix index 8c01c74e54da..ff407aa954f0 100644 --- a/pkgs/by-name/gl/glances/package.nix +++ b/pkgs/by-name/gl/glances/package.nix @@ -11,7 +11,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "glances"; - version = "4.5.4"; + version = "4.5.5"; pyproject = true; disabled = python3Packages.isPyPy; @@ -20,7 +20,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "nicolargo"; repo = "glances"; tag = "v${finalAttrs.version}"; - hash = "sha256-oIuvVI1vXPrtJjWie/iDoCBM++Z7i4IQ5DPE6Yi3npA="; + hash = "sha256-RiAt797YS468lmwH68O9/KlbV46DAqd25O8J0wNIDsU="; }; build-system = with python3Packages; [ setuptools ]; From 8c066ee0749d98970298bbffb4c33dfdcf338f0b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Jun 2026 22:52:14 +0000 Subject: [PATCH 11/21] allure: 2.42.1 -> 2.43.0 --- pkgs/by-name/al/allure/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/allure/package.nix b/pkgs/by-name/al/allure/package.nix index 9e64f10b90aa..0c85aa04c277 100644 --- a/pkgs/by-name/al/allure/package.nix +++ b/pkgs/by-name/al/allure/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "allure"; - version = "2.42.1"; + version = "2.43.0"; src = fetchurl { url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz"; - hash = "sha256-+Pc79LvSz1uO7lHSdIeu9VydLyZQ2xEaUvqBCIZrqGw="; + hash = "sha256-Hrp4vTrtdPNSRpMVCdQKBg9v8He6VyhHiThGiPMQdsg="; }; dontConfigure = true; From 75f50b709e8058a3579c28b53b13a4c077dba34f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 01:58:02 +0000 Subject: [PATCH 12/21] mongodb-compass: 1.49.8 -> 1.49.9 --- pkgs/by-name/mo/mongodb-compass/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/mo/mongodb-compass/package.nix b/pkgs/by-name/mo/mongodb-compass/package.nix index 32d614997e6c..7d463816b7df 100644 --- a/pkgs/by-name/mo/mongodb-compass/package.nix +++ b/pkgs/by-name/mo/mongodb-compass/package.nix @@ -52,7 +52,7 @@ let pname = "mongodb-compass"; - version = "1.49.8"; + version = "1.49.9"; selectSystem = attrs: @@ -67,9 +67,9 @@ let } }"; hash = selectSystem { - x86_64-linux = "sha256-5SmMFzQploo1EkXYmLDL4XdM+vKlIWkaIh1fFrIgrqY="; - x86_64-darwin = "sha256-2GgyiH7Bhm1MbjmgMvo8CuLQEsVCZkALiy1mtH/Zl1Q="; - aarch64-darwin = "sha256-a1nWzTR1dZhm/rVURl0kK2qTyHEnAZeQKiYKzRO6MqY="; + x86_64-linux = "sha256-Fx//NMDHqVaLwthOM7FeSgUXkvLOSbw5EH1qp1dgPcM="; + x86_64-darwin = "sha256-l5Jx0BUQR++tkF0cpctxhku6lB2rHEydp7roJy9AGFc="; + aarch64-darwin = "sha256-HCKt1rq6P7Uy6NJiFRBBp4YdpAdhwQQjEGT5h7IcyWE="; }; }; From bf34ca657403dc5e8e1d137a4ec5c8d55dda6f77 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 02:50:39 +0000 Subject: [PATCH 13/21] rqlite: 10.2.0 -> 10.2.1 --- pkgs/by-name/rq/rqlite/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/rq/rqlite/package.nix b/pkgs/by-name/rq/rqlite/package.nix index 3da1c70a821e..06d5d934c96d 100644 --- a/pkgs/by-name/rq/rqlite/package.nix +++ b/pkgs/by-name/rq/rqlite/package.nix @@ -12,16 +12,16 @@ buildGoModule ( in { pname = "rqlite"; - version = "10.2.0"; + version = "10.2.1"; src = fetchFromGitHub { owner = "rqlite"; repo = "rqlite"; tag = "v${finalAttrs.version}"; - hash = "sha256-XpdI3OFkMHlnUQ6LXo/NDagRwaRkQMq2UmFg4MOKNJ4="; + hash = "sha256-SQH/dkirdsIMf/GyteqyxI/b7t2QbfUJc5DAevsKklE="; }; - vendorHash = "sha256-7f9A9BnENKF7kRftB/ii1EQeHMsYp9ZSb5T474ngs6E="; + vendorHash = "sha256-rWyDyypKbettuwL8tfXmkvKtIg5fm5EzZud2/5RL0kY="; subPackages = [ "cmd/rqlite" From b2263d3a17fe8e3e1d68ac39ad754f679d4b6edc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 04:26:01 +0000 Subject: [PATCH 14/21] ec: 0.3.2 -> 0.3.3 --- pkgs/by-name/ec/ec/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ec/ec/package.nix b/pkgs/by-name/ec/ec/package.nix index 6e8eea5a9153..dc1596485b02 100644 --- a/pkgs/by-name/ec/ec/package.nix +++ b/pkgs/by-name/ec/ec/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "ec"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "chojs23"; repo = "ec"; tag = "v${finalAttrs.version}"; - hash = "sha256-Oltl23Ihv2p1sTW62nGUt+oH6E2DB38fIuNiXRaghBU="; + hash = "sha256-ZG4y5GS/33hHhM1OwgcwF13CfzjxT93cGUfkB8j09cY="; }; vendorHash = "sha256-bV5y8zKculYULkFl9J95qebLOzdTT/LuYycqMmHKZ+g="; From 7b0b7bbb423a5a0b6e9b727c5891b12eb7dba4a5 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 18 Jun 2026 06:38:43 +0200 Subject: [PATCH 15/21] nodejs_22: 22.22.3 -> 22.23.0 --- pkgs/development/web/nodejs/v22.nix | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index a7ce03fb23b3..6ee55d20421f 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -23,8 +23,8 @@ let [ ]; in buildNodejs { - version = "22.22.3"; - sha256 = "f3e6a578db1ab335a4a72785c1e87ad18a2cf6d2fc25747a1d741fb34af0bd0f"; + version = "22.23.0"; + sha256 = "3acfae100c7b855a4c76520ee0f95cadcace3f4254f16b7d4887f178fc95d4a0"; patches = ( if (stdenv.hostPlatform.emulatorAvailable buildPackages) then @@ -64,26 +64,5 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/ff3a028f8bf88da70dc79e1d7b7947a8d5a8548a.patch?full_index=1"; hash = "sha256-LJcO3RXVPnpbeuD87fiJ260m3BQXNk3+vvZkBMFUz5w="; }) - # update tests for nghttp2 1.65 - ./deprecate-http2-priority-signaling.patch - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/a63126409ad4334dd5d838c39806f38c020748b9.diff?full_index=1"; - hash = "sha256-lfq8PMNvrfJjlp0oE3rJkIsihln/Gcs1T/qgI3wW2kQ="; - includes = [ "test/*" ]; - }) - # Patch for nghttp2 1.69 support - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/ecbc22dc3709290dcaadf634a28d8307a75952ee.diff?full_index=1"; - hash = "sha256-LwniqgKlG1IiqSzdP7UgBw3/9cn1jyz/jtx45yb6RWM="; - includes = [ - "test/parallel/test-http2-misbehaving-flow-control-paused.js" - "test/parallel/test-http2-misbehaving-flow-control.js" - ]; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/4a32c00fb8dbe55c3bcf9ef43343968c9fe449e6.diff?full_index=1"; - hash = "sha256-pex8ruwa4b/vWvfGA+nyN3JJP8NOturmwAQe4Rkd6nU="; - excludes = [ "tools/nix/*" ]; - }) ]; } From ebb7487289e46118b3b630c05e61af254ce12ca2 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 18 Jun 2026 06:43:13 +0200 Subject: [PATCH 16/21] nodejs_26: 26.3.0 -> 26.3.1 --- pkgs/development/web/nodejs/v26.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v26.nix b/pkgs/development/web/nodejs/v26.nix index 930d8a474aa4..500d00eaaef0 100644 --- a/pkgs/development/web/nodejs/v26.nix +++ b/pkgs/development/web/nodejs/v26.nix @@ -23,8 +23,8 @@ let [ ]; in buildNodejs { - version = "26.3.0"; - sha256 = "319ad5d7d20cc622e55eb75b9f1a2546b77a08bd462b67030d0c89316c2c2349"; + version = "26.3.1"; + sha256 = "979b9b8308a8d2d4a27c662ed50448c85f970c0fd4f5ce8b98e8da78c441f2bc"; patches = ( if (stdenv.hostPlatform.emulatorAvailable buildPackages) then From aaad9ba3a08806bb0f6fd521cb2ea28ed96b8119 Mon Sep 17 00:00:00 2001 From: Seudonym Date: Thu, 18 Jun 2026 10:27:42 +0530 Subject: [PATCH 17/21] asusctl: migrate source from GitLab to GitHub --- pkgs/by-name/as/asusctl/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/as/asusctl/package.nix b/pkgs/by-name/as/asusctl/package.nix index 5f30f1d4b308..85fef9f9b827 100644 --- a/pkgs/by-name/as/asusctl/package.nix +++ b/pkgs/by-name/as/asusctl/package.nix @@ -1,7 +1,7 @@ { lib, rustPlatform, - fetchFromGitLab, + fetchFromGitHub, systemd, coreutils, gnugrep, @@ -20,8 +20,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "asusctl"; version = "6.3.8"; - src = fetchFromGitLab { - owner = "asus-linux"; + src = fetchFromGitHub { + owner = "OpenGamingCollective"; repo = "asusctl"; tag = finalAttrs.version; hash = "sha256-DXpuKZmjYKiQp8ULH39EYtY75muZ77YzwYmE/yF1wEY="; @@ -103,7 +103,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops"; - homepage = "https://gitlab.com/asus-linux/asusctl"; + homepage = "https://github.com/OpenGamingCollective/asusctl"; license = lib.licenses.mpl20; platforms = [ "x86_64-linux" ]; maintainers = with lib.maintainers; [ From 3a5f9f41f0b88a84a5d94124a30126f20210e82b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 05:03:17 +0000 Subject: [PATCH 18/21] python3Packages.eheimdigital: 1.6.0 -> 1.7.0 --- pkgs/development/python-modules/eheimdigital/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/eheimdigital/default.nix b/pkgs/development/python-modules/eheimdigital/default.nix index 44ac48db7c32..320ddd67c65a 100644 --- a/pkgs/development/python-modules/eheimdigital/default.nix +++ b/pkgs/development/python-modules/eheimdigital/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "eheimdigital"; - version = "1.6.0"; + version = "1.7.0"; pyproject = true; src = fetchFromCodeberg { owner = "autinerd"; repo = "eheimdigital"; tag = version; - hash = "sha256-BXezA2wFP3KeAVwnZC9WYIIXeADHUmSJHTRfZE6Rk48="; + hash = "sha256-aAV63mdgBQ1kbLGOERkUm67S4A+Fyq+0ihllTTGe1mc="; }; build-system = [ hatchling ]; From d195b09992d6dc87b0ec35b34008cfbc8de45057 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 05:21:59 +0000 Subject: [PATCH 19/21] python3Packages.blinkpy: 0.25.5 -> 0.25.6 --- pkgs/development/python-modules/blinkpy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/blinkpy/default.nix b/pkgs/development/python-modules/blinkpy/default.nix index 3fa66c2160f7..0f9a6383ac50 100644 --- a/pkgs/development/python-modules/blinkpy/default.nix +++ b/pkgs/development/python-modules/blinkpy/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "blinkpy"; - version = "0.25.5"; + version = "0.25.6"; pyproject = true; src = fetchFromGitHub { owner = "fronzbot"; repo = "blinkpy"; tag = "v${version}"; - hash = "sha256-wtuegaYB7/lh9d5kKgSEwCztLpaKcwHi9+ryMvGXVg8="; + hash = "sha256-OAa5sYuFGsxiS5r+v69dnXCQs7rmAFAHbmNXm3S6cgY="; }; postPatch = '' From 1850997d83d79cb0c784685e11cad50d4e33c9b3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 06:25:06 +0000 Subject: [PATCH 20/21] terraform-providers.ovh_ovh: 2.13.1 -> 2.14.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 953ff585224f..acaa84b84b68 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1067,11 +1067,11 @@ "vendorHash": null }, "ovh_ovh": { - "hash": "sha256-xjSGnukY76k6xalVMBfXikuI2MyXvROVoA91wB8AXnI=", + "hash": "sha256-rNJ6ibD8VbvUopKYc6Ao6I7lJqTw6gw8A71YzW8OYJE=", "homepage": "https://registry.terraform.io/providers/ovh/ovh", "owner": "ovh", "repo": "terraform-provider-ovh", - "rev": "v2.13.1", + "rev": "v2.14.0", "spdx": "MPL-2.0", "vendorHash": null }, From 59cc759eee14cdbdc52f52531a19f415b3e1dd8c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jun 2026 06:53:21 +0000 Subject: [PATCH 21/21] opencode: 1.17.7 -> 1.17.8 --- pkgs/by-name/op/opencode/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 668fd555a405..d897a030e036 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencode"; - version = "1.17.7"; + version = "1.17.8"; __structuredAttrs = true; strictDeps = true; @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { owner = "anomalyco"; repo = "opencode"; tag = "v${finalAttrs.version}"; - hash = "sha256-rTeJuwqc11r6Xiksfg5IoTezK2ZtG3GlenQCxTW04P4="; + hash = "sha256-iReCFIJeJIOIs95v0ReVR/X1PnT5dSnR9O0TniyvPR8="; }; node_modules = stdenvNoCC.mkDerivation { @@ -78,7 +78,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-DntnRo2N32nhjv8YxedIbRMtEkSsXAOrpFmK6six/g4="; + outputHash = "sha256-ERywlcNEF9EUW3JDGH8987g+GAj76RylUtegqMvStyg="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; };