From d1a50249d523f10a52d73563b1af5ec7ba34ebe4 Mon Sep 17 00:00:00 2001 From: Haak Saxberg Date: Sat, 16 Mar 2024 00:32:54 -0700 Subject: [PATCH] add whatsapp app to darwin --- nix/system/worktop/darwin-configuration.nix | 14 ++++++++- nix/system/worktop/makeApp.nix | 33 ++++++++++++--------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/nix/system/worktop/darwin-configuration.nix b/nix/system/worktop/darwin-configuration.nix index 4efb9d6..fead74d 100644 --- a/nix/system/worktop/darwin-configuration.nix +++ b/nix/system/worktop/darwin-configuration.nix @@ -48,6 +48,18 @@ let 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 { imports = [ ]; @@ -58,12 +70,12 @@ in environment.systemPackages = [ pkgs.vim - pkgs.iterm2 pkgs.obsidian pkgs.syncthing pkgs.slack pkgs._1password pkgs.tailscale + whatsapp obs-studio vlc keycastr diff --git a/nix/system/worktop/makeApp.nix b/nix/system/worktop/makeApp.nix index 141c690..342ec85 100644 --- a/nix/system/worktop/makeApp.nix +++ b/nix/system/worktop/makeApp.nix @@ -7,20 +7,13 @@ pkgs , stdenv , unzip -, ... -}: -if stdenv.isDarwin then - pkgs.stdenv.mkDerivation - { - name = "${name}-${version}"; - version = "${version}"; - src = src; +, unpackCmd ? '' + echo "File to unpack: $curSrc"; + if ! [[ "$curSrc" =~ \.dmg$ ]]; then + echo "Not a .dmg, cannot unpack" + return 1; + fi - 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) function finish { @@ -40,7 +33,19 @@ if stdenv.isDarwin then shopt -s extglob DEST="$PWD" (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 ]; installPhase = '' mkdir -p $out/Applications/${appname}.app