feat: make betterbird declaritive

This commit is contained in:
Jet 2026-04-23 21:38:36 -07:00
parent d602f3031f
commit 2f8cbcf48a
No known key found for this signature in database
3 changed files with 55 additions and 2 deletions

View file

@ -121,7 +121,7 @@ in
"x-scheme-handler/https" = "zen-beta.desktop"; "x-scheme-handler/https" = "zen-beta.desktop";
"x-scheme-handler/about" = "zen-beta.desktop"; "x-scheme-handler/about" = "zen-beta.desktop";
"x-scheme-handler/unknown" = "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"; "inode/directory" = "org.gnome.Nautilus.desktop";
"application/zip" = "org.gnome.FileRoller.desktop"; "application/zip" = "org.gnome.FileRoller.desktop";
"application/x-tar" = "org.gnome.FileRoller.desktop"; "application/x-tar" = "org.gnome.FileRoller.desktop";

View file

@ -42,6 +42,57 @@ let
rev = "4ae5198fb82fe28d7b452796152f2b1745051c77"; rev = "4ae5198fb82fe28d7b452796152f2b1745051c77";
hash = "sha256-NvDd3BSVeS10kYupLxo27VlKeeHPHrxyTb8EdVqrtQw="; 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" <<EOF
[Desktop Entry]
Name=Betterbird
Comment=Mail, RSS and newsgroups client
Exec=$out/bin/betterbird %u
Terminal=false
Type=Application
Icon=betterbird
Categories=Network;Email;
MimeType=x-scheme-handler/mailto;message/rfc822;x-scheme-handler/webcal;x-scheme-handler/webcals;
StartupNotify=true
EOF
runHook postInstall
'';
meta = with pkgs.lib; {
description = "Betterbird mail client";
homepage = "https://www.betterbird.eu/";
sourceProvenance = [ sourceTypes.binaryNativeCode ];
license = licenses.mpl20;
platforms = [ "x86_64-linux" ];
};
};
nasaApodWallpaper = pkgs.writeShellApplication { nasaApodWallpaper = pkgs.writeShellApplication {
name = "nasa-apod-wallpaper"; name = "nasa-apod-wallpaper";
runtimeInputs = [ runtimeInputs = [
@ -288,7 +339,7 @@ let
name = "betterbird-startup"; name = "betterbird-startup";
desktopName = "Betterbird Startup"; desktopName = "Betterbird Startup";
comment = "Launch Betterbird in fullscreen"; comment = "Launch Betterbird in fullscreen";
exec = "${pkgs.flatpak}/bin/flatpak run eu.betterbird.Betterbird --fullscreen"; exec = "${betterbird}/bin/betterbird";
terminal = false; terminal = false;
categories = [ "Network" ]; categories = [ "Network" ];
}; };
@ -305,6 +356,7 @@ in
_module.args.homeLib = { _module.args.homeLib = {
inherit inherit
betterbirdStartup betterbirdStartup
betterbird
email email
greptileSkills greptileSkills
kittyZellijStartup kittyZellijStartup

View file

@ -55,6 +55,7 @@
zulip zulip
linphone linphone
lmstudio lmstudio
homeLib.betterbird
nerd-fonts.commit-mono nerd-fonts.commit-mono