chore(dotfiles-sync): 🔧 update README and feature files for clarity#30
Merged
Conversation
✅ PR Validation Passed
📋 Pipeline Status
🤖 Generated by @helpers4 CI • 2026-05-24 |
There was a problem hiding this comment.
Pull request overview
This PR updates the dotfiles-sync Dev Container Feature to remove GitHub CLI auth syncing and several low-value bind mounts, while bumping the feature version and tightening documentation to reflect the new supported sync surface area.
Changes:
- Remove
syncGhAuthoption and stop syncing/bind-mounting~/.config/gh/*and other previously “extra” dotfiles (pnpm/cargo/pip/gitignore_global). - Bump
dotfiles-syncfeature version to 1.0.4 and align descriptions/docs with the reduced scope. - Simplify runtime sync behavior to focus on Git/SSH/GPG/npm/yarn plus opt-in AWS/kube/Docker.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/dotfiles-sync/sync-files.sh | Removes copy logic for gh/pnpm/cargo/pip/gitignore_global; keeps core merge/copy behavior and opt-in cloud credential copying. |
| src/dotfiles-sync/README.md | Updates docs to reflect removed options/files and adds version history entry for v1.0.4. |
| src/dotfiles-sync/install.sh | Removes build-time handling of syncGhAuth and related directories; continues writing runtime config for remaining options. |
| src/dotfiles-sync/devcontainer-feature.json | Removes syncGhAuth option and related mounts; bumps version/description to match new scope. |
Comments suppressed due to low confidence (2)
src/dotfiles-sync/install.sh:76
- The generated /usr/local/share/dotfiles-sync/config no longer includes DOTFILES_SYNC_GH_AUTH, but the repository’s dotfiles-sync feature test still asserts that this flag exists. This will likely break CI for this feature unless the test is updated in the same PR or a compatibility value (e.g., always "false") is still written to the config.
cat > /usr/local/share/dotfiles-sync/config << CONF_EOF
DOTFILES_SYNC_USERNAME="${USERNAME}"
DOTFILES_SYNC_SOURCE="${SOURCE_HOME}"
DOTFILES_SYNC_TARGET="${TARGET_HOME}"
DOTFILES_SYNC_AWS_CONFIG="${SYNC_AWS_CONFIG}"
DOTFILES_SYNC_KUBE_CONFIG="${SYNC_KUBE_CONFIG}"
DOTFILES_SYNC_DOCKER_CONFIG="${SYNC_DOCKER_CONFIG}"
CONF_EOF
src/dotfiles-sync/devcontainer-feature.json:74
- Even after removing several mounts to avoid “bind source path does not exist” startup failures, the feature still unconditionally bind-mounts ${HOME}/.aws/config, ${HOME}/.kube/config, and ${HOME}/.docker/config.json. Because mounts can’t be gated by options, enabling the feature can still prevent a devcontainer from starting on hosts where these files don’t exist, even when syncAwsConfig/syncKubeConfig/syncDockerConfig are false. Consider redesigning these mounts (or documenting the requirement to create placeholder files) so the default feature usage doesn’t depend on these paths existing on the host.
{
"source": "${localEnv:HOME}/.aws/config",
"target": "/mnt/h4dotfiles/.aws/config",
"type": "bind"
},
{
"source": "${localEnv:HOME}/.kube/config",
"target": "/mnt/h4dotfiles/.kube/config",
"type": "bind"
},
{
"source": "${localEnv:HOME}/.docker/config.json",
"target": "/mnt/h4dotfiles/.docker/config.json",
"type": "bind"
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
55
to
61
| ### Opt-in (sensitive) | ||
|
|
||
| | Local Path | Option | Notes | | ||
| |------------|--------|-------| | ||
| | `~/.config/gh/hosts.yml` | `syncGhAuth` | GitHub OAuth token used by `gh`. The file is bind-mounted into `/mnt/h4dotfiles` unconditionally (Feature `mounts` cannot be gated on options) but **only copied to `$HOME` when `syncGhAuth: true`**. Skipped on cloud environments. For fine-grained PATs, prefer [`github-dev`](../github-dev/) + `GH_TOKEN`. | | ||
| | `~/.aws/config` | `syncAwsConfig` | AWS profiles. `~/.aws/credentials` (long-lived access keys) is **not bind-mounted** and never synced. | | ||
| | `~/.kube/config` | `syncKubeConfig` | Kubernetes cluster credentials. Skipped on cloud environments. | | ||
| | `~/.docker/config.json` | `syncDockerConfig` | Docker registry auth tokens. Skipped on cloud environments. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Please include a summary of what this PR does and why it's needed.
Type of Change
Related Issues
Closes #(issue number)
How Has This Been Tested?
Describe the tests you ran and how to reproduce them:
Checklist
Screenshots (if applicable)
Add screenshots for UI changes.
Additional Context
Add any other context about the PR here.