Files
clawstor/deploy/macos/claw-fuse.plist
T
Omar Sobh 9d7e62bcee
Build with clawstor cache / Cargo build (clawstor-cached) (pull_request) Successful in 15s
Polish: enable claw-fuse on macOS via macFUSE + deploy/macos docs
Cargo.toml: fuser dep now target-gated to Linux + macOS. macOS
build requires macFUSE (brew install --cask macfuse) + pkg-config
before 'cargo build --features fuse' works.

deploy/macos/README.md — one-time prereqs, build steps, mount /
umount, known differences (no AllowOther, unmount is 'umount'
not fusermount3 -u).

deploy/macos/claw-fuse.plist — launchd agent template
(RunAtLoad + KeepAlive) so ghost / macbook / smith can run the
mount the same way tank/architect do under systemd.

Default 'cargo build' (no --features fuse) still works on macOS
with no macFUSE installed — feature gate keeps the dep opt-in.
2026-07-14 13:16:17 -07:00

46 lines
1.4 KiB
Plaintext

<?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">
<!--
launchd agent for the read-only claw-fuse mount on macOS.
Install:
cp deploy/macos/claw-fuse.plist ~/Library/LaunchAgents/dev.clawstor.claw-fuse.plist
launchctl load ~/Library/LaunchAgents/dev.clawstor.claw-fuse.plist
Edit ProgramArguments to match your local paths. `RunAtLoad` +
`KeepAlive` mean the mount survives logouts/reboots the same way
the Linux systemd unit does.
-->
<plist version="1.0">
<dict>
<key>Label</key>
<string>dev.clawstor.claw-fuse</string>
<key>ProgramArguments</key>
<array>
<string>/Users/YOU/clawstor-deploy/claw-fuse</string>
<string>--data-dir</string>
<string>/Users/YOU/clawstor-deploy/data</string>
<string>--mount</string>
<string>/Users/YOU/clawstor-mount</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<!-- Give the process the user's PATH + a real home. -->
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>
</dict>
<key>StandardOutPath</key>
<string>/tmp/claw-fuse.stdout.log</string>
<key>StandardErrorPath</key>
<string>/tmp/claw-fuse.stderr.log</string>
</dict>
</plist>