Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotstrap-config

Example configuration repository consumed by dotstrap. It captures macOS dotfiles as Handlebars templates, defines Homebrew dependencies, and documents the secrets you need to supply at runtime.

Layout

manifest.yaml
values.yaml
brew/packages.yaml
secrets/secrets.yaml
templates/
  • manifest.yaml — maps template files under templates/ to their destination paths inside the home directory.
  • values.yaml — per-machine values that are safe to commit.
  • secrets/secrets.yaml — references to environment variables or files that you manage outside of git.
  • brew/packages.yaml — taps, formulae, and casks to install via Homebrew.

Secrets

Secrets never live in git. Instead they are declared as indirections:

# secrets/secrets.yaml
github_token:
  from: env
  key: DOTSTRAP_GITHUB_TOKEN
aws_access_key:
  from: env
  key: DOTSTRAP_AWS_ACCESS_KEY
  optional: true

At runtime, dotstrap injects those entries under the secrets namespace so you can use {{secrets.github_token}} inside any template. The repository ships with secrets/.gitignore to ensure that accidental files in the directory stay out of git history.

Usage

# Install dotstrap (from the sibling repository once published)
cargo install dotstrap --git https://github.com/<you>/dotstrap

# Dry run (skips Homebrew by default in CI)
DOTSTRAP_GITHUB_TOKEN=*** dotstrap . --dry-run

# Apply to current host (installs Homebrew packages)
DOTSTRAP_GITHUB_TOKEN=*** dotstrap .

If you need to test against a temporary home directory:

DOTSTRAP_GITHUB_TOKEN=*** dotstrap . --home /tmp/dotstrap-home --dry-run

GitHub Actions

The workflow in .github/workflows/ci.yml assumes that the automation tool lives at https://github.com/<owner>/dotstrap. It checks out both repositories, installs dotstrap, and runs a dry run to ensure the templates render.

Update the owner/organization portion of the URL once both repositories live on GitHub.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages