add macOS desktop target with sandbox entitlements
OS-detecting Makefile (make run works on macOS/Linux/Windows), 1280x720 default window in MainMenu.xib, squared app icons, sandbox with scoped SBPL exceptions for subprocess execution, _DARWIN_C_SOURCE for ptyc compilation, expanded PATH merging Homebrew and ~/.local/bin for GUI apps, native traffic dots skipped on macOS (titlebar owns them). DebugProfile.entitlements is gitignored (machine-specific SBPL paths); a template with __HOMEDIR__/__PROJECTS__/__SHELL__ placeholders is committed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
3242c8ec13
commit
8edcc78bfe
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
DebugProfile.entitlements template — machine-specific sandbox exceptions.
|
||||
|
||||
Copy to DebugProfile.entitlements and replace placeholders:
|
||||
__HOMEDIR__ → your home directory (e.g. /Users/you)
|
||||
__PROJECTS__ → your projects root (e.g. /Users/you/Projects)
|
||||
__SHELL__ → your login shell (e.g. /bin/zsh)
|
||||
|
||||
Git is bundled via dugite-native (D-59) — no Homebrew exec needed.
|
||||
Run `make dugite-fetch` to download the binary.
|
||||
-->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.server</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.files.user-selected.read-write</key>
|
||||
<true/>
|
||||
<key>com.apple.security.temporary-exception.sbpl</key>
|
||||
<array>
|
||||
<string>(allow process-exec* (literal "__SHELL__"))</string>
|
||||
<string>(allow process-exec* (literal "/usr/bin/which"))</string>
|
||||
<string>(allow process-exec* (subpath "__HOMEDIR__/.local/bin"))</string>
|
||||
<string>(allow process-exec* (subpath "__PROJECTS__/clide/ptyc/bin"))</string>
|
||||
<string>(allow process-exec* (subpath "__PROJECTS__/clide/native/dugite"))</string>
|
||||
<string>(allow process-fork)</string>
|
||||
<string>(allow file-read* file-write* (subpath "__PROJECTS__"))</string>
|
||||
<string>(allow file-read* (subpath "/opt/homebrew"))</string>
|
||||
<string>(allow file-read* (subpath "__HOMEDIR__/.local"))</string>
|
||||
<string>(allow file-read* (subpath "__HOMEDIR__/.pql"))</string>
|
||||
<string>(allow file-read* file-write* (subpath "/private/tmp"))</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
Reference in New Issue
Block a user