{ emacs, fetchFromGitea, lib, stdenvNoCC, ... }: let src = fetchFromGitea { domain = "git.linfan.moe"; owner = "emily"; repo = "emacs"; rev = "62de7d4e19be88000d1b71fe0d48496693ed80f3"; hash = "sha256-dEcOzATSRC3W5fMPtrAK9sALB74FxK8OF890xO9MH6Y="; }; in builtins.listToAttrs ( map (name: { inherit name; value = stdenvNoCC.mkDerivation { pname = "emimacs"; version = "mistress"; meta = with lib; { description = "emis emacs configuration with dynamic dependencies and all wohoo"; homepage = "https://git.linfan.moe/emily/emacs"; license = licenses.gpl3Plus; platforms = platforms.unix; }; buildInputs = [ (emacs.pkgs.withPackages ( epkgs: builtins.map ( name: if (builtins.hasAttr name epkgs.melpaPackages) then epkgs.melpaPackages.${name} else epkgs.${name} ) ( builtins.fromJSON ( builtins.readFile ( stdenvNoCC.mkDerivation { name = "emimacs-dependencies.json"; inherit src; phases = [ "unpackPhase" "buildPhase" "installPhase" ]; buildInputs = [ emacs ]; buildPhase = '' export EMIMACS_HOST=${name} emacs --batch --script $src/init.el > dependencies.json ''; installPhase = '' cp dependencies.json $out ''; } ) ) ) )) ]; inherit src; installPhase = '' mkdir -p $out cp $src/early-init.el $out/early-init.el cp $src/init.el $out/init.el cp $src/LICENSE $out/LICENSE cp -r $src/config $out/config ''; }; }) [ "eminix" "emidesk" ] )