Skip to content
highmanphilPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

dotfiles

The dotfiles are seperated by branch for each machine

Setup

Clone this repo

git clone https://github.com/highmanphil/dotfiles.git

Then run the setup script

cd dotfiles
./setup.sh

Notes

Turn 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).

Remote zsh and cmux SSH workspaces

The remote Powerlevel10k color overlay lives in zsh/.p10k-mac-ssh.zsh:

  • VPS sessions from the Mac use a red prompt and an explicit VPS context.
  • Home PC sessions from the Mac use a blue prompt and an explicit HOME context.
  • 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.sh

The 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 the pinned Home and VPS SSH workspaces usable when their final tab is closed or cmux restarts. The com.phil.cmux-remote-workspace-keeper LaunchAgent checks for an idle local or disconnected placeholder after the remote transport is ready. It uses the cmux-tui resource API to restore one remote terminal in the same pane, verifies that projection is live, and only then removes the exact placeholder. It leaves working remote tabs, other tabs and panes, busy local shells, and offline hosts alone. Checks also run at startup; failed attempts are throttled. This requires cmux's local automation socket mode and the macOS system Python 3. Run python3 scripts/test-cmux-workspace-keeper.py for the regression checks.

Fleet management

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 -- uptime

Run ~/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 also enables the Codex features listed in agents/.codex/features.txt while preserving each host's other Codex settings. It also links the global Claude CLAUDE.md, merges agents/.claude/settings.json into each host's ~/.claude/settings.json (this needs jq), and links shared skills into ~/.claude/skills/ without replacing skills already installed there. 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/. Its skills-manifest.txt is the allowlist: only listed skills are linked into Claude, Codex, and ~/.agents, and every other personal skill is pruned. Built-in and plugin skills are never managed here. 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. Change the set from the Mac or Home PC:

~/dotfiles/scripts/fleet-skills.sh adopt <name>    # add a skill installed locally
~/dotfiles/scripts/fleet-skills.sh remove <name>   # drop it from the fleet
~/dotfiles/scripts/fleet-skills.sh capture-and-publish

To keep a skill off one machine, add a <mac|home|vps> <skill> line to agents/skills-excludes.txt and push; that host prunes it from every agent at the next convergence.

In interactive zsh, the skills command wraps the official Skills CLI; installed skills stay local until adopted.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages