nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5
6 cargo-tauri,
7 jq,
8 moreutils,
9 nodejs,
10 pkg-config,
11 pnpm_9,
12
13 libayatana-appindicator,
14 libsoup_3,
15 openssl,
16 webkitgtk_4_1,
17}:
18
19rustPlatform.buildRustPackage rec {
20 pname = "overlayed";
21 version = "0.6.2";
22
23 src = fetchFromGitHub {
24 owner = "overlayeddev";
25 repo = "overlayed";
26 tag = "v${version}";
27 hash = "sha256-3GFg8czBf1csojXUNC51xFXJnGuXltP6D46fCt6q24I=";
28 };
29
30 cargoRoot = "apps/desktop/src-tauri";
31 buildAndTestSubdir = "apps/desktop/src-tauri";
32
33 cargoHash = "sha256-6wN4nZQWrY0J5E+auj17B3iJ/84hzBXYA/bJsX/N5pk=";
34
35 pnpmDeps = pnpm_9.fetchDeps {
36 inherit pname version src;
37 fetcherVersion = 1;
38 hash = "sha256-+yyxoodcDfqJ2pkosd6sMk77/71RDsGthedo1Oigwto=";
39 };
40
41 nativeBuildInputs = [
42 cargo-tauri.hook
43 jq
44 moreutils
45 nodejs
46 pkg-config
47 pnpm_9.configHook
48 ];
49
50 buildInputs = [
51 libayatana-appindicator
52 libsoup_3
53 openssl
54 webkitgtk_4_1
55 ];
56
57 env = {
58 OPENSSL_NO_VENDOR = 1;
59 };
60
61 postPatch = ''
62 substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
63 --replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
64
65 # disable updater
66 jq '.plugins.updater.endpoints = [ ] | .bundle.createUpdaterArtifacts = false' \
67 apps/desktop/src-tauri/tauri.conf.json | sponge apps/desktop/src-tauri/tauri.conf.json
68 '';
69
70 meta = {
71 description = "Modern discord voice chat overlay";
72 homepage = "https://github.com/overlayeddev/overlayed";
73 changelog = "https://github.com/overlayeddev/overlayed/releases/tag/v${version}";
74 platforms = lib.platforms.linux;
75 maintainers = with lib.maintainers; [ bot-wxt1221 ];
76 license = lib.licenses.agpl3Plus;
77 mainProgram = "overlayed";
78 };
79}