Bring your desk back, deliberately.
Move between desks without rebuilding your Mac setup.
Save display, sound, and keyboard settings as local profiles, preview every proposed change, and apply only when you are ready.
Project site · English guide · 한국어 가이드 · Support matrix
Desk Setup Switcher is a macOS menu-bar app for people who use the same Mac at different desks. Capture the setup that works at home, the office, or a studio, then return to it without hunting through System Settings each time.
Important
The project site is public, but there is no supported public download yet. The GitHub Pages site is an informational holding page, not an app release. The first supported build is planned as a free, Developer ID-unsigned DMG on GitHub Releases after the public-beta completion gates pass. Local builds and ordinary CI artifacts are unsupported.
![]() |
![]() |
![]() |
![]() |
Watch the 40-second silent product tour · English captions · 한국어 자막
Exact-commit synthetic Display/Sound product data captured before the Keyboard surface was added. No personal device identifiers, live Capture, Apply, or hardware changes.
Changing desks often means repeating the same small decisions: choose the main display, restore a resolution, select the right speakers or microphone, reset their levels, and restore keyboard repeat preferences.
Desk Setup Switcher keeps those choices together in a named profile, so every change begins with a clear plan instead of guesswork.
| Product value | What you get |
|---|---|
| Less setup repetition | Keep the display, sound, and keyboard choices for each desk together in one named profile. |
| Control before convenience | See the exact plan, unavailable items, and risks before anything changes. Profiles never switch automatically. |
| A safer display workflow | Protected display changes use a 15-second Keep Changes / Revert Now window. |
| Privacy by architecture | No account, cloud sync, app-owned server, telemetry, analytics, advertising, or automatic/background profile switching. |
- Capture reads the current Display, Sound, and Keyboard values into a local profile. It changes nothing.
- Edit gives the setup a useful name and lets you choose from the values available on that Mac.
- Review & Apply shows proposed changes and omissions. Only a separate confirmation starts the change.
| Display | Sound output | Sound input | Keyboard |
|---|---|---|---|
| Main display | Output device | Input device | Key repeat speed |
| Resolution | Output volume | Input volume | Repeat delay |
| Output mute |
That is the complete current product scope. Pointer speed, natural scrolling, standard-function-key behavior, Network settings, editable refresh rate, mirroring, ColorSync profiles, per-setting inclusion switches, and automatic switching are not current features.
- Capture is read-only, and Apply always starts with a visible plan and explicit confirmation.
- Upgrading does not silently activate an older excluded Keyboard value. A new Capture includes readable Keyboard values, and explicitly editing one opts it in.
- The app reads current state again immediately before execution. If the plan changed, it applies nothing and returns to review.
- Protected display changes remain temporary until you keep them. Rollback is attempted when required, but is not presented as a guarantee.
- Results distinguish applied, skipped, failed, rolled-back, rollback-failed, and unverified outcomes.
- Selecting an audio input device does not record audio or require microphone access.
Profiles, backups, and diagnostics stay on the Mac. Exports can contain device labels and stable identifiers, so review them before sharing. See the privacy policy for the complete boundary.
- The bilingual project site is approved for public GitHub Pages hosting while its release state remains
holding; it provides no app download or installation instructions. - The initial public-beta target is Apple Silicon on macOS 14 Sonoma. Exact release-candidate lifecycle evidence is still required before that becomes a supported public claim.
- Current-source Display and Sound Capture and device discovery have read-only hardware evidence. Keyboard Capture, Apply, and rollback have deterministic mock evidence only; no live keyboard mutation or hardware verification is claimed. The Keyboard editor uses macOS-aligned discrete Slow → Fast and Long → Short axes instead of raw preference numbers. Native key-repeat Off is a separate runtime threshold state and is not exposed until it can be captured, persisted, read back, and rolled back safely; the slowest enabled value is never mislabeled as Off. Key repeat speed and repeat delay use experimental undocumented preference keys. Keyboard brightness is legacy profile data only: it is preserved for format compatibility but is never captured, edited, or applied.
- A user-authorized 2026-09-15 local Apple Silicon build of the current Keyboard source was reinstalled and launched with both profile files unchanged. This is startup evidence for an
arm64development bundle, not universal-package, supported-release, or Keyboard hardware evidence; see the reinstall record. - The app release remains on hold until the documented lifecycle, external-beta, and release-publication gates pass.
For the evidence behind each statement, see the support matrix and completion ledger.
- Visit the project site, follow the repository, and check GitHub Releases for launch updates.
- Read the distribution guide before installing an unsigned beta.
- Use GitHub Issues for non-sensitive feedback and SECURITY.md for security reports.
Contributors need full Xcode and a Swift 6.1-or-later toolchain.
git clone https://github.com/GGULBAE/desk-setup-switcher.git
cd desk-setup-switcher
make verifymake verify is the canonical non-live gate. It does not mutate display, audio, network, mouse, or keyboard settings. See CONTRIBUTING.md for the development workflow.
- Use the app: English guide · 한국어 가이드 · Support
- Understand the boundaries: Privacy · Support matrix · Product scope
- Build or integrate: Profile JSON schema · Architecture · Adapter contract
- Track publication: GitHub Pages policy · Distribution gates · External-beta report contract · Completion ledger
Desk Setup Switcher is available under the MIT License. Contributions are welcome—start with CONTRIBUTING.md and the Code of Conduct.



