Files
nixpkgs/pkgs/vibetyper/default.nix
T
2026-09-11 17:38:15 +02:00

45 lines
1.4 KiB
Nix

# last-modified: Fri, 24 Jul 2026 10:50:57 GMT
{
appimageTools,
fetchurl,
lib,
makeWrapper,
}: let
pname = "vibetyper";
version = "1.5.1";
# Upstream publishes to an unversioned URL — ./update.sh watches Last-Modified
# and refreshes the sha256 when the binary changes. Bump `version` manually.
src = fetchurl {
url = "https://cdn.vibetyper.com/releases/linux/VibeTyper.AppImage";
sha256 = "sha256-QEVFCUkcA/qK+1en3oLDGZlNvALLL6ojT+opL9K/PVU=";
};
appimageContents = appimageTools.extract {inherit pname version src;};
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [makeWrapper];
extraPkgs = pkgs: [pkgs.fuse2];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/vibe-typer.desktop -t $out/share/applications
substituteInPlace $out/share/applications/vibe-typer.desktop \
--replace 'Exec=AppRun --no-sandbox' 'Exec=${pname}'
install -m 444 -D ${appimageContents}/vibe-typer.png \
$out/share/icons/hicolor/512x512/apps/vibe-typer.png
wrapProgram $out/bin/${pname} \
--set VIBE_DISABLE_HYPRLAND_INDICATOR_NO_BLUR 1
'';
passthru.updateScript = ./update.sh;
meta = {
description = "VibeTyper - AI-powered typing assistant";
homepage = "https://vibetyper.com";
license = lib.licenses.unfree;
platforms = lib.platforms.linux;
mainProgram = "vibetyper";
};
}