machine-profiles

Use dotfile-sync profiles to manage machine-specific configurations. Use when different machines need different subsets of dotfiles, handling OS-specific configs, or setting up work vs personal machine profiles. Triggers include "machine profile", "per-machine config", "dfs profile", "different configs per machine", "work vs home dotfiles".

7 stars

Best use case

machine-profiles is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use dotfile-sync profiles to manage machine-specific configurations. Use when different machines need different subsets of dotfiles, handling OS-specific configs, or setting up work vs personal machine profiles. Triggers include "machine profile", "per-machine config", "dfs profile", "different configs per machine", "work vs home dotfiles".

Teams using machine-profiles should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/machine-profiles/SKILL.md --create-dirs "https://raw.githubusercontent.com/heldernoid/agentic-build-templates/main/projects/cli-tools/dotfile-sync/skills/machine-profiles/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/machine-profiles/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How machine-profiles Compares

Feature / Agentmachine-profilesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use dotfile-sync profiles to manage machine-specific configurations. Use when different machines need different subsets of dotfiles, handling OS-specific configs, or setting up work vs personal machine profiles. Triggers include "machine profile", "per-machine config", "dfs profile", "different configs per machine", "work vs home dotfiles".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# machine-profiles

Guide to using dotfile-sync profiles for machine-specific configuration.

## What Profiles Are

Profiles let different machines use different subsets of your dotfiles. For example:
- Work MacBook: company SSH config, work tool configs
- Home Linux: gaming tools, personal projects
- Both machines: zshrc, gitconfig, nvim config

## Creating a Profile

```bash
dfs profile create work-mac
dfs profile create home-linux
```

## Adding Files to a Profile

```bash
# Files added with --profile are only linked on machines using that profile
dfs add ~/.config/work-vpn/config --profile work-mac
dfs add ~/.config/company-ssh/config --profile work-mac

# Files added without --profile go to 'common' (linked everywhere)
dfs add ~/.zshrc
dfs add ~/.gitconfig
```

## Applying a Profile

On a new machine or when switching profiles:

```bash
# Apply profile (links common + this profile's files)
dfs profile apply work-mac

# Bootstrap a new machine with a specific profile
dfs init --clone git@github.com:user/dotfiles.git --profile work-mac
```

## Profile File Structure

Profiles are stored in the dotfiles repo at `profiles/<name>.json`:

```json
{
  "name": "work-mac",
  "description": "work MacBook configuration",
  "files": [
    "home/.config/work-vpn/config",
    "home/.config/company-ssh/config"
  ]
}
```

## Listing Profiles

```bash
dfs profile list
```

Output shows all profiles with file counts and marks the currently active profile with `*`.

## Common Profile

All files tracked without a `--profile` flag belong to the `common` profile. These files are always linked regardless of which machine profile is active.

## Workflow Example

```bash
# On work machine: set up profiles
dfs profile create work-mac
dfs add ~/.zshrc                              # common - on all machines
dfs add ~/.gitconfig                          # common
dfs add ~/.config/work-vpn/config --profile work-mac
dfs push

# On home Linux: clone and apply different profile
dfs init --clone git@github.com:user/dotfiles.git --profile home-linux
# Only common files linked; work-mac files skipped
```

Related Skills

Skill: Uptime Monitoring

7
from heldernoid/agentic-build-templates

## Overview

Skill: Status Page

7
from heldernoid/agentic-build-templates

## Overview

Skill: unit-conversion

7
from heldernoid/agentic-build-templates

## Overview

Skill: recipe-scaler

7
from heldernoid/agentic-build-templates

## Overview

reading-list

7
from heldernoid/agentic-build-templates

Operate the reading-list API to save, manage, tag, search, and export articles.

email-digest

7
from heldernoid/agentic-build-templates

Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.

websocket-realtime

7
from heldernoid/agentic-build-templates

Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".

poll-builder

7
from heldernoid/agentic-build-templates

Self-hosted poll creation tool with real-time results. Use when you need to create a poll, check vote counts, close a poll, export results, or get the shareable link for a poll. Triggers include "create poll", "vote", "poll results", "survey", "collect votes", "share poll", or any task involving polling or voting.

Skill: personal-finance

7
from heldernoid/agentic-build-templates

## Overview

Skill: csv-import

7
from heldernoid/agentic-build-templates

## Overview

Skill: Syntax Highlighting

7
from heldernoid/agentic-build-templates

## Purpose

Skill: Pastebin Core

7
from heldernoid/agentic-build-templates

## Purpose