evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / le / legcord / package.nix
blob3f2bb86fd9657a0f806395fb0c72d50fd514590c
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , pnpm
5 , nodejs
6 , electron_32
7 , makeWrapper
8 , copyDesktopItems
9 , makeDesktopItem
10 , nix-update-script
12 stdenv.mkDerivation rec {
13   pname = "legcord";
14   version = "1.0.2";
16   src = fetchFromGitHub {
17     owner = "Legcord";
18     repo = "Legcord";
19     rev = "v${version}";
20     hash = "sha256-YmNRkNN7lWHMbUiGOxPa9b+TaLybj1XE7AonCnB88KY=";
21   };
23   nativeBuildInputs = [ pnpm.configHook nodejs makeWrapper copyDesktopItems ];
25   pnpmDeps = pnpm.fetchDeps {
26     inherit pname version src;
27     hash = "sha256-ZPTp6l7qtvgsYPY6FZvhuYxD8TdkBkaQO2SG1fQzU7s=";
28   };
30   ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
32   buildPhase = ''
33     runHook preBuild
35     pnpm build
37     npm exec electron-builder -- \
38       --dir \
39       -c.electronDist="${electron_32.dist}" \
40       -c.electronVersion="${electron_32.version}"
42     runHook postBuild
43   '';
45   installPhase = ''
46     runHook preInstall
48     mkdir -p "$out/share/lib/legcord"
49     cp -r ./dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/legcord"
51     install -Dm644 "build/icon.png" "$out/share/icons/hicolor/256x256/apps/legcord.png"
53     makeShellWrapper "${lib.getExe electron_32}" "$out/bin/legcord" \
54       --add-flags "$out/share/lib/legcord/resources/app.asar" \
55       "''${gappsWrapperArgs[@]}" \
56       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
57       --set-default ELECTRON_IS_DEV 0 \
58       --inherit-argv0
60     runHook postInstall
61   '';
63   desktopItems = [
64     (makeDesktopItem {
65       name = "legcord";
66       desktopName = "Legcord";
67       exec = "legcord %U";
68       icon = "legcord";
69       comment = meta.description;
70       categories = [ "Network" ];
71       startupWMClass = "Legcord";
72       terminal = false;
73     })
74   ];
76   passthru.updateScript = nix-update-script { };
78   meta = with lib; {
79     description = "Lightweight, alternative desktop client for Discord";
80     homepage = "https://legcord.app";
81     downloadPage = "https://github.com/Legcord/Legcord";
82     license = licenses.osl3;
83     maintainers = with maintainers; [ wrmilling water-sucks ];
84     platforms = [ "x86_64-linux" "aarch64-linux" ];
85     mainProgram = "legcord";
86   };