add whatsapp app to darwin

This commit is contained in:
Haak Saxberg 2024-03-16 00:32:54 -07:00
parent 9ff8ae6268
commit d1a50249d5
2 changed files with 32 additions and 15 deletions

View file

@ -48,6 +48,18 @@ let
sha256 = "1gk7gk3c38rwagx535nl9p0r8drpxfijdiv20qdv7yj81h79db6r"; sha256 = "1gk7gk3c38rwagx535nl9p0r8drpxfijdiv20qdv7yj81h79db6r";
}; };
}; };
whatsapp = pkgs.callPackage ./makeApp.nix rec {
name = "WhatsApp";
version = "2.24.6.79";
unpackCmd = ''
unzip $curSrc;
'';
src = pkgs.fetchurl {
url = "https://web.whatsapp.com/desktop/mac_native/release/?version=${version}&extension=zip&configuration=Release&branch=relbranch";
sha256 = "a1efb65baa1730dde4f75ea77bc555dd7e1d9f7573c9b67e88179cca67aaa87a";
};
};
in in
{ {
imports = [ <home-manager/nix-darwin> ]; imports = [ <home-manager/nix-darwin> ];
@ -58,12 +70,12 @@ in
environment.systemPackages = environment.systemPackages =
[ [
pkgs.vim pkgs.vim
pkgs.iterm2
pkgs.obsidian pkgs.obsidian
pkgs.syncthing pkgs.syncthing
pkgs.slack pkgs.slack
pkgs._1password pkgs._1password
pkgs.tailscale pkgs.tailscale
whatsapp
obs-studio obs-studio
vlc vlc
keycastr keycastr

View file

@ -7,20 +7,13 @@
pkgs pkgs
, stdenv , stdenv
, unzip , unzip
, ... , unpackCmd ? ''
}: echo "File to unpack: $curSrc";
if stdenv.isDarwin then if ! [[ "$curSrc" =~ \.dmg$ ]]; then
pkgs.stdenv.mkDerivation echo "Not a .dmg, cannot unpack"
{ return 1;
name = "${name}-${version}"; fi
version = "${version}";
src = src;
sourceRoot = "${appname}.app";
phases = [ "unpackPhase" "installPhase" ];
unpackCmd = ''
echo "File to unpack: $curSrc"
if ! [[ "$curSrc" =~ \.dmg$ ]]; then return 1; fi
mnt=$(mktemp -d -t ci-XXXXXXXXXX) mnt=$(mktemp -d -t ci-XXXXXXXXXX)
function finish { function finish {
@ -40,7 +33,19 @@ if stdenv.isDarwin then
shopt -s extglob shopt -s extglob
DEST="$PWD" DEST="$PWD"
(cd "$mnt"; cp -a !(Applications) "$DEST/") (cd "$mnt"; cp -a !(Applications) "$DEST/")
''; ''
, ...
}:
if stdenv.isDarwin then
pkgs.stdenv.mkDerivation
{
name = "${name}-${version}";
version = "${version}";
src = src;
sourceRoot = "${appname}.app";
phases = [ "unpackPhase" "installPhase" ];
unpackCmd = unpackCmd;
nativeBuildInputs = [ pkgs.unzip ]; nativeBuildInputs = [ pkgs.unzip ];
installPhase = '' installPhase = ''
mkdir -p $out/Applications/${appname}.app mkdir -p $out/Applications/${appname}.app