nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 dbus,
7 ffmpeg,
8 oniguruma,
9 openssl,
10 sqlite,
11 stdenv,
12 alsa-lib,
13 libxcb,
14}:
15rustPlatform.buildRustPackage rec {
16 pname = "screen-pipe";
17 version = "0.1.48";
18
19 src = fetchFromGitHub {
20 owner = "louis030195";
21 repo = "screen-pipe";
22 rev = "v${version}";
23 hash = "sha256-rWKRCqWFuPO84C52mMrrS4euD6XdJU8kqZsAz28+vWE=";
24 };
25
26 cargoLock = {
27 lockFile = ./Cargo.lock;
28 outputHashes = {
29 "cpal-0.15.3" = "sha256-eKn3tS5QuqbMTwnRAEybvbPZOiKiid7ghGztAmrs9fw=";
30 "rusty-tesseract-1.1.10" = "sha256-XT74zGn+DetEBUujHm4Soe2iorQcIoUeZbscTv+64hw=";
31 };
32 };
33
34 postPatch = ''
35 ln -s ${./Cargo.lock} Cargo.lock
36 '';
37
38 nativeBuildInputs = [
39 pkg-config
40 rustPlatform.bindgenHook
41 ];
42
43 buildInputs = [
44 dbus
45 ffmpeg
46 oniguruma
47 openssl
48 sqlite
49 ]
50 ++ lib.optionals stdenv.hostPlatform.isLinux [
51 alsa-lib
52 libxcb
53 ];
54
55 buildFeatures = lib.optional stdenv.hostPlatform.isDarwin "metal";
56
57 env = {
58 RUSTONIG_SYSTEM_LIBONIG = true;
59 };
60
61 doCheck = false; # Tests fail to build
62
63 meta = {
64 # Marked broken 2025-11-28 because it has failed on Hydra for at least one year.
65 broken = true;
66 description = "Personalized AI powered by what you've seen, said, or heard";
67 homepage = "https://github.com/louis030195/screen-pipe";
68 license = lib.licenses.mit;
69 maintainers = with lib.maintainers; [ dit7ya ];
70 mainProgram = "screen-pipe";
71 };
72}