{ lib, pkgs }:
lib.makeScope pkgs.newScope (
self:
let
inherit (self) callPackage;
inheritedArgs = {
inherit (pkgs.darwin) sigtool;
inherit (pkgs.darwin.apple_sdk.frameworks)
Accelerate
AppKit
Carbon
Cocoa
GSS
ImageCaptureCore
ImageIO
IOKit
OSAKit
Quartz
QuartzCore
WebKit
;
inherit (pkgs.darwin.apple_sdk_11_0.frameworks) UniformTypeIdentifiers;
};
in
{
sources = import ./sources.nix {
inherit lib;
inherit (pkgs)
fetchFromBitbucket
fetchFromSavannah
emacs28 = callPackage (self.sources.emacs28) inheritedArgs;
emacs28-gtk3 = self.emacs28.override {
withGTK3 = true;
emacs28-nox = pkgs.lowPrio (
self.emacs28.override {
noGui = true;
}
);
emacs29 = callPackage (self.sources.emacs29) inheritedArgs;
emacs29-gtk3 = self.emacs29.override {
emacs29-nox = self.emacs29.override {
emacs29-pgtk = self.emacs29.override {
withPgtk = true;
emacs30 = callPackage (self.sources.emacs30) inheritedArgs;
emacs30-gtk3 = self.emacs30.override {
emacs30-nox = self.emacs30.override {
emacs30-pgtk = self.emacs30.override {
emacs28-macport = callPackage (self.sources.emacs28-macport) inheritedArgs;
emacs29-macport = callPackage (self.sources.emacs29-macport) inheritedArgs;
)