+106
pkgs/by-name/ri/ringboard/package.nix
+106
pkgs/by-name/ri/ringboard/package.nix
···+local flagsArray=("-j $NIX_BUILD_CORES --target ${stdenv.hostPlatform.rust.rustcTarget} --offline --release");+cargo build $flagsArray --package clipboard-history-server --no-default-features --features systemd+cargo build $flagsArray --package clipboard-history-egui --no-default-features --features ${displayServer}+wrapProgram $out/bin/ringboard-egui --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}"+# Initializing a GUI can be quite slow, so GUI clients make their windows invisible when closed rather than completely quitting.+# If, instead, a new instance of the GUI is opened, this special file is used to first check for a previously running instance of the GUI and kill it if it exists.+# https://alexsaveau.dev/blog/projects/performance/clipboard/ringboard/ringboard#gui-startup-latency-and-long-lived-client-windows+sed -i "s|Exec=ringboard-egui|Exec=$(echo /bin/sh -c \"ps -p \`cat /tmp/.ringboard/\$USER.egui-sleep 2\> /dev/null\` \> /dev/null 2\>\\\&1 \\\&\\\& exec rm -f /tmp/.ringboard/\$USER.egui-sleep \\\|\\\| exec $out/bin/ringboard-egui\")|g" $out/share/applications/ringboard-egui.desktop+sed -i "s|Icon=ringboard|Icon=$out/share/icons/hicolor/1024x1024/ringboard.jpeg|g" $out/share/applications/ringboard-egui.desktop
+2
pkgs/top-level/all-packages.nix
+2
pkgs/top-level/all-packages.nix
···+ringboard-wayland = callPackage ../by-name/ri/ringboard/package.nix { displayServer = "wayland"; };