{ system, pkgs, nixpkgs, hydra, ... }: with pkgs; let hydra-pkg = hydra.defaultPackage.${system}; rtf-tokenize = with python3Packages; buildPythonPackage rec { pname = "rtf_tokenize"; version = "1.0.0"; src = fetchFromGitHub { owner = "benoit-pierre"; repo = pname; rev = version; sha256 = "1l5pfrggil9knk58r2r84i9msm7mdhddl87hkfk54qqk2sqzc06g"; }; }; plover-stroke = with python3Packages; buildPythonPackage rec { pname = "plover_stroke"; version = "1.0.1"; src = fetchFromGitHub { owner = "benoit-pierre"; repo = pname; rev = version; sha256 = "15by14gn2grvn7835hcrijfmccy4bqwvbg38rn8fvgyl6n2zhwzn"; }; }; plover = with python3Packages; libsForQt5.mkDerivationWith buildPythonPackage rec { pname = "plover-wayland"; version = "2022-04-03"; src = fetchFromGitHub { owner = "benoit-pierre"; repo = "plover"; rev = "9aa7c562ba8c6cf8fdd56b0a8304865cc58bc322"; sha256 = "0y3mdfqjv3vmv5c0cpvfa2mqdylan44iw1js480sxvklq8sxq6yv"; }; postPatch = '' sed -i /PyQt5/d setup.cfg sed -i 's|/usr/share/wayland|${wayland}/share/wayland|' plover_build_utils/setup.py sed -i 's|pywayland==|pywayland>=|' reqs/dist.txt ''; checkInputs = [ pytest mock ]; propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth setuptools pywayland pkg-config plover-stroke rtf-tokenize ]; dontWrapQtApps = true; preBuild = '' export PKG_CONFIG="${pkg-config}/bin/pkg-config" ''; preFixup = '' makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; installCheckPhase = "true"; }; in { nixpkgs.overlays = [ (self: prev: { hydra-unstable = hydra-pkg.overrideAttrs (old: { postPatch = '' sed -i 's/totalNarSize > maxOutputSize/false/g' src/hydra-queue-runner/build-remote.cc ''; checkPhase = "true"; patches = [ ../../extra/hydra.patch ]; }); plover.dev = plover; mosh = prev.mosh.overrideAttrs (old: { patches = [ ./mosh/ssh_path.patch ./mosh/mosh-client_path.patch ./mosh/utempter_path.patch ./mosh/bash_completion_datadir.patch ]; postPatch = '' substituteInPlace scripts/mosh.pl \ --subst-var-by ssh "${openssh}/bin/ssh" \ --subst-var-by mosh-client "$out/bin/mosh-client" ''; version = "2022-02-04"; src = pkgs.fetchFromGitHub { owner = "mobile-shell"; repo = "mosh"; rev = "dbe419d0e069df3fedc212d456449f64d0280c76"; sha256 = "09mvk9zxclkf4wrkkfzg0p2hx1f74gpymr0a0l3pckmk6za2n3d1"; }; }); gtk3 = prev.gtk3.overrideAttrs (old: { postPatch = old.postPatch + '' sed -i 's/gtk_compose_table_save_cache (compose_table);//' gtk/gtkcomposetable.c ''; }); # remove when matrix-1.58 hits matrix-synapse = prev.matrix-synapse.overrideAttrs (old: { version = "1.58.0"; src = pkgs.python3.pkgs.fetchPypi { pname = "matrix-synapse"; version = "1.58.0"; sha256 = "sha256-cY3rtmaaAimEQPU4wcMEy/QysPNCdk7yptrkctnLfDA="; }; }); }) ]; }