From 2f8cbcf48a49667ffcd2d25f25e6319fac41577a Mon Sep 17 00:00:00 2001 From: Jet Date: Thu, 23 Apr 2026 21:38:36 -0700 Subject: [PATCH] feat: make betterbird declaritive --- home-modules/desktop.nix | 2 +- home-modules/lib.nix | 54 ++++++++++++++++++++++++++++++++++++++- home-modules/packages.nix | 1 + 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/home-modules/desktop.nix b/home-modules/desktop.nix index 26f7e22..605db53 100644 --- a/home-modules/desktop.nix +++ b/home-modules/desktop.nix @@ -121,7 +121,7 @@ in "x-scheme-handler/https" = "zen-beta.desktop"; "x-scheme-handler/about" = "zen-beta.desktop"; "x-scheme-handler/unknown" = "zen-beta.desktop"; - "x-scheme-handler/mailto" = "eu.betterbird.Betterbird.desktop"; + "x-scheme-handler/mailto" = "betterbird.desktop"; "inode/directory" = "org.gnome.Nautilus.desktop"; "application/zip" = "org.gnome.FileRoller.desktop"; "application/x-tar" = "org.gnome.FileRoller.desktop"; diff --git a/home-modules/lib.nix b/home-modules/lib.nix index c272cd6..a1a77d8 100644 --- a/home-modules/lib.nix +++ b/home-modules/lib.nix @@ -42,6 +42,57 @@ let rev = "4ae5198fb82fe28d7b452796152f2b1745051c77"; hash = "sha256-NvDd3BSVeS10kYupLxo27VlKeeHPHrxyTb8EdVqrtQw="; }; + betterbird = pkgs.stdenvNoCC.mkDerivation rec { + pname = "betterbird"; + version = "140.10.0esr-bb21"; + + src = pkgs.fetchurl { + url = "https://www.betterbird.eu/downloads/LinuxArchive/betterbird-${version}.en-US.linux-x86_64.tar.xz"; + hash = "sha256-Uh55xWn/cjoIutX2xdM/jUWw9c2As8P4fefK5KQtbQo="; + }; + + nativeBuildInputs = [ pkgs.makeWrapper ]; + + sourceRoot = "."; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/lib" "$out/bin" "$out/share" + cp -r betterbird "$out/lib/betterbird" + + ln -s "$out/lib/betterbird/betterbird" "$out/bin/betterbird" + + if [ -d "$out/lib/betterbird/chrome/icons/default" ]; then + mkdir -p "$out/share/icons/hicolor/128x128/apps" + cp "$out/lib/betterbird/chrome/icons/default/default128.png" "$out/share/icons/hicolor/128x128/apps/betterbird.png" + fi + + mkdir -p "$out/share/applications" + cat > "$out/share/applications/betterbird.desktop" <