typioca: 2.7.0 -> 2.8.0
[NixPkgs.git] / pkgs / os-specific / darwin / aldente / default.nix
blob7ca454609aedcb11759668b7d59b315d0b485db0
1 { lib
2 , stdenvNoCC
3 , fetchurl
4 , undmg
5 }:
7 stdenvNoCC.mkDerivation (finalAttrs: {
8   pname = "aldente";
9   version = "1.22.3";
11   src = fetchurl {
12     url = "https://github.com/davidwernhart/aldente-charge-limiter/releases/download/${finalAttrs.version}/AlDente.dmg";
13     hash = "sha256-pSqBDDumCbORLQ+B3skSqKmgG2KybR5Zb4ojiNQcAaM=";
14   };
16   dontBuild = true;
17   dontFixup = true;
19   nativeBuildInputs = [ undmg ];
21   # AlDente.dmg is not HFS formatted, default unpackPhase fails
22   # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura
23   unpackCmd = ''
24     if ! [[ "$curSrc" =~ \.dmg$ ]]; then return 1; fi
25     mnt=$(mktemp -d -t ci-XXXXXXXXXX)
27     function finish {
28       /usr/bin/hdiutil detach $mnt -force
29     }
30     trap finish EXIT
32     /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt
34     shopt -s extglob
35     DEST="$PWD"
36     (cd "$mnt"; cp -a !(Applications) "$DEST/")
37   '';
39   sourceRoot = "AlDente.app";
41   installPhase = ''
42     runHook preInstall
44     mkdir -p $out/Applications/AlDente.app
45     cp -R . $out/Applications/AlDente.app
47     runHook postInstall
48   '';
50   meta = with lib; {
51     description = "macOS tool to limit maximum charging percentage";
52     homepage = "https://apphousekitchen.com";
53     changelog = "https://github.com/davidwernhart/aldente-charge-limiter/releases/tag/${finalAttrs.version}";
54     license = with licenses; [ unfree ];
55     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
56     maintainers = with maintainers; [ stepbrobd ];
57     platforms = [ "aarch64-darwin" "x86_64-darwin" ];
58   };