feat(nix/darwin/brew): Support variation

This commit is contained in:
Ahmad Ansori Palembani 2024-11-02 12:57:45 +07:00
parent 60964a91e2
commit a5a3750cac
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
6 changed files with 14 additions and 55 deletions

View file

@ -1,7 +1,7 @@
# Modified version of brew-nix/casks.nix
#
# REF: https://github.com/BatteredBunny/brew-nix/blob/9dfab294afea5029922bbc59a10ae487c7318d59/casks.nix
{ system, nixpkgs, brew-api, ... }:
{ system, mac-version ? "ventura", nixpkgs, brew-api, ... }:
let
pkgs = import nixpkgs {
inherit system;
@ -17,14 +17,16 @@ let
getApp = cask: builtins.elemAt (getArtifacts cask).app 0;
getArtifacts = cask: pkgs.lib.mergeAttrsList cask.artifacts;
getUrl = cask: (cask.variations.${mac-version} or cask).url;
getHash = cask: (cask.variations.${mac-version} or cask).sha256;
caskToDerivation = cask: pkgs.stdenv.mkDerivation rec {
pname = cask.token;
version = cask.version;
# FIXME: support variants
src = pkgs.fetchurl {
url = cask.url;
sha256 = pkgs.lib.optionalString (cask.sha256 != "no_check") cask.sha256;
url = (getUrl cask);
sha256 = pkgs.lib.optionalString ((getHash cask) != "no_check") (getHash cask);
};
nativeBuildInputs = with pkgs; [