The dotfiles are seperated by branch for each machine
Clone this repo
git clone https://github.com/highmanphil/dotfiles.gitThen run the setup script
cd dotfiles
./setup.shTurn off select the previous input source in mac settings
- → System Settings → Keyboard → Shortcuts → Input Sources
- Uncheck “Select the previous input source” (or remap it to something else).
The remote Powerlevel10k color overlay lives in zsh/.p10k-mac-ssh.zsh:
- VPS sessions from the Mac use a red prompt and an explicit
VPScontext. - Home PC sessions from the Mac use a blue prompt and an explicit
HOMEcontext. - Local terminals on the Home PC keep the normal theme.
On a Linux remote that has this repository at ~/dotfiles, run:
~/dotfiles/scripts/setup-remote-zsh.shThe setup script links the shared portable zsh/.zshrc, so shell startup
optimizations stay consistent across the Mac, Home PC, and VPS.
On the Mac, include ssh/cmux-remotes.conf from ~/.ssh/config. The remote
sshd must accept the cosmetic marker with AcceptEnv P10K_MAC_SSH. cmux-managed
SSH workspaces also provide a fallback marker for Home PC sessions.
The cmux stow package keeps pinned SSH workspaces alive when their final tab
is closed. cmux itself inserts a local shell in that case, so the
com.phil.cmux-remote-workspace-keeper LaunchAgent watches surface.closed
events and replaces only that final placeholder with a terminal using the
workspace's existing SSH transport. It is limited to the configured Home and
VPS destinations and requires cmux's local automation socket mode.
The Mac, Home PC, and VPS share global Codex instructions and the fleet skill
from the agents package. From either the Mac or Home PC:
~/.codex/skills/fleet/scripts/fleetctl status all
~/.codex/skills/fleet/scripts/fleetctl exec vps -- uptimeRun ~/dotfiles/scripts/setup-fleet.sh after pulling changes. It links global
AGENTS.md, the fleet skill, shared zsh/P10k files, Mac cmux settings, and Home
PC limux settings. It never creates backup copies; an unmanaged conflicting
file is refused unless --replace-managed is explicitly supplied.
Personal skill contents and their runtime manifest are kept out of this public
repository in the private highmanphil/fleet-skills repository, checked out at
~/.local/share/fleet-skills/. The non-sensitive manifest is mirrored at
agents/skills-manifest.txt. Every machine pulls and applies desired state at
boot or login and every 15 minutes, so machines that were offline converge
after they return. In interactive zsh, the skills command wraps the official
Skills CLI and publishes successful installs. After an installation performed
by another tool, run:
~/dotfiles/scripts/fleet-skills.sh capture-and-publish