{inputs, ...}: final: prev: let cratesNix = pkgs: inputs.crates-nix.mkLib {inherit pkgs;}; in { glance = prev.glance.overrideAttrs (old: { patches = (old.patches or []) ++ [./glance-enclosure-thumbnail.patch]; }); # nixpkgs orca-slicer 2.4.1 sets `__structuredAttrs = true`, which stops # wrapGAppsHook from actually wrapping the binary — so it ships as a bare ELF # with none of its runtime env: no GTK (GDK_PIXBUF/GIO/XDG_DATA_DIRS → garbled # font metrics & layout) and no GStreamer plugin path (→ camera live-view can't # find gtksink). wrapGAppsHook still *computes* the right gappsWrapperArgs, it # just never applies them, so in postFixup we call its own `wrapGApp` helper to # apply the full set, plus pin GST_PLUGIN_SYSTEM_PATH_1_0 at the plugins the # liveview pipeline (wxMediaCtrl2.cpp) uses: coreelements (gstreamer), # playbin/videoconvert/videoscale (base), gtksink (good, needs gtkSupport) and # h264parse + openh264dec (bad) for the H.264 stream. orca-slicer = let gstPlugins = with prev.gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override {gtkSupport = true;}) gst-plugins-bad ]; gstPath = prev.lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gstPlugins; in prev.orca-slicer.overrideAttrs (old: { postFixup = (old.postFixup or "") + '' wrapGApp $out/bin/orca-slicer \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${gstPath}" ''; }); # iamb = inputs.iamb.packages.${prev.stdenv.hostPlatform.system}.default; # hyprland = inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland; # xdg-desktop-portal-hyprland = prev.enableDebugging inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; # xdph = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; opencode = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.opencode; # ironclaw = (cratesNix prev).buildCrate "ironclaw" { # nativeBuildInputs = [prev.pkg-config]; # buildInputs = [prev.openssl]; # doCheck = false; # }; # notmuch = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.notmuch; # nushell = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.nushell; # dante 1.4.4 fails to compile on darwin clang (config_parse.y type errors). # aerc only uses dante to wrap the html filter for SOCKS support, which we # don't need — drop the dante input on darwin so aerc builds. aerc = prev.aerc.override ( final.lib.optionalAttrs prev.stdenv.hostPlatform.isDarwin { dante = prev.coreutils; } ); # direnv 2.37.1 checkPhase hangs on darwin sandbox loading test/.envrc direnv = if prev.stdenv.hostPlatform.isDarwin then prev.direnv.overrideAttrs (_: {doCheck = false;}) else prev.direnv; }