dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
packages/betterbird/default.nix (2521B)
1{
2 lib,
3 pkgs,
4 ...
5}: let
6 metadata = import ./meta.nix;
7 version = metadata.rev;
8 unwrapped = pkgs.stdenv.mkDerivation {
9 pname = "betterbird-unwrapped";
10 inherit version;
11
12 src = pkgs.fetchurl {
13 url = "https://www.betterbird.eu/downloads/LinuxArchive/betterbird-${version}.en-US.linux-x86_64.tar.xz";
14 inherit (metadata) sha256;
15 };
16
17 buildInputs = with pkgs; [alsa-lib gtk3];
18 nativeBuildInputs = with pkgs; [
19 autoPatchelfHook
20 patchelfUnstable
21 wrapGAppsHook3
22 ];
23
24 strictDeps = true;
25 patchelfFlags = ["--no-clobber-old-sections"];
26 installPhase = ''
27 runHook preInstall
28
29 mkdir -p "$out/lib/betterbird" "$out/bin"
30 cp -r . "$out/lib/betterbird/"
31 ln -s "$out/lib/betterbird/betterbird" "$out/bin/betterbird"
32
33 for size in 16 32 48 64 128 256
34 do
35 icon="chrome/icons/default/default$size.png"
36 if [[ -f "$icon" ]]
37 then
38 install -Dm644 "$icon" "$out/share/icons/hicolor/''${size}x''${size}/apps/betterbird.png"
39 fi
40 done
41
42 runHook postInstall
43 '';
44
45 passthru = {
46 applicationName = "Betterbird";
47 binaryName = "betterbird";
48 inherit (pkgs) gtk3;
49 ffmpegSupport = true;
50 gssSupport = true;
51 };
52
53 meta = {
54 description = "Email client based on Thunderbird with additional features and fixes";
55 homepage = "https://www.betterbird.eu/";
56 changelog = "https://www.betterbird.eu/releasenotes/";
57 mainProgram = "betterbird";
58 sourceProvenance = [lib.sourceTypes.binaryNativeCode];
59 license = lib.licenses.mpl20;
60 maintainers = ["maydayv7"];
61 platforms = ["x86_64-linux"];
62 };
63 };
64in
65 (pkgs.wrapThunderbird unwrapped {
66 pname = "betterbird";
67 libName = "betterbird";
68 extraPolicies.DisableAppUpdate = true;
69 }).overrideAttrs (_: {
70 desktopItem = pkgs.makeDesktopItem {
71 name = "thunderbird";
72 desktopName = "Thunderbird";
73 genericName = "Email Client";
74 comment = "Read mail and news, manage contacts and calendars";
75 exec = "betterbird --name thunderbird %U";
76 icon = "betterbird";
77 startupNotify = true;
78 startupWMClass = "thunderbird";
79 categories = ["Network" "Email" "News" "Feed" "GTK"];
80 mimeTypes = ["message/rfc822" "x-scheme-handler/mailto" "text/calendar" "text/x-vcard"];
81 actions.profile-manager = {
82 name = "Profile Manager";
83 exec = "betterbird --name thunderbird --ProfileManager";
84 };
85 };
86 })