Development

Building from Source

Full build pipeline from GhosttyKit to Kytos.app
Properties3
Is BaseNo
Iconi-lucide-wrench
Order10

Prerequisites

  • macOS 26+ (Tahoe)
  • pixi installed
  • Xcode with macOS 26 SDK
  • Ghostty source at ~/Syntropment/ghostty
  • Zig (installed by pixi)

Build Pipeline

pixi run build

This executes in order:

  1. build-ghosttyzig build -Doptimize=ReleaseFast for arm64, produces Frameworks/GhosttyKit.xcframework
  2. generate — XcodeGen from project.yml, produces Kytos.xcodeproj
  3. xcodebuild — compiles Swift 6 sources, links GhosttyKit + Carbon + KelyphosKit

Individual Tasks

TaskDescription
build-ghosttyBuild GhosttyKit.xcframework from Ghostty source
generateRegenerate Xcode project from project.yml
generate-if-neededRegenerate only if project.yml is newer
buildFull build
build-if-neededIncremental — skips if binary is up to date
runBuild if needed + launch Kytos.app
testRun Scripts/run-tests.sh against Kytos-Tests scheme
distcleanRemove all build artifacts

Notes

  • GhosttyKit.xcframework is arm64-only — always pass ARCHS=arm64
  • The widget's Info.plist must not be modified after code signing — set versions via build settings
  • pluginkit -r / pluginkit -a in the post-build script registers the widget extension