Skip to content

chore(dotfiles-sync): 🔧 update README and feature files for clarity#30

Merged
baxyz merged 1 commit into
mainfrom
may-2-fixes
May 24, 2026
Merged

chore(dotfiles-sync): 🔧 update README and feature files for clarity#30
baxyz merged 1 commit into
mainfrom
may-2-fixes

Conversation

@baxyz
Copy link
Copy Markdown
Contributor

@baxyz baxyz commented May 24, 2026

  • remove unused sync options for GitHub auth and related files
  • update version to 1.0.4
  • clarify sync behavior in documentation

Description

Please include a summary of what this PR does and why it's needed.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring
  • Test improvement

Related Issues

Closes #(issue number)

How Has This Been Tested?

Describe the tests you ran and how to reproduce them:

  • Test A
  • Test B

Checklist

  • My code follows the code style of this project
  • I have updated the documentation accordingly
  • I have added tests for my changes
  • All new and existing tests passed locally
  • My commits follow the conventional commit format

Screenshots (if applicable)

Add screenshots for UI changes.

Additional Context

Add any other context about the PR here.

Copilot AI review requested due to automatic review settings May 24, 2026 20:03
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 24, 2026

✅ PR Validation Passed

All checks passed!


📋 Pipeline Status

Job Status
🧾 Conventional Commits passing
🧪 Feature Tests passing
🐚 ShellCheck passing

🤖 Generated by @helpers4 CI • 2026-05-24

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 syncGhAuth option and stop syncing/bind-mounting ~/.config/gh/* and other previously “extra” dotfiles (pnpm/cargo/pip/gitignore_global).
  • Bump dotfiles-sync feature 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. |
@baxyz baxyz merged commit 9857f1b into main May 24, 2026
25 checks passed
@baxyz baxyz deleted the may-2-fixes branch May 24, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants