Skip to main content

untaped-dotfiles

Install it as part of untaped: uv tool install 'untaped[dotfiles]' or pip install 'untaped[dotfiles]'. To add it to an existing install, see Getting started.

untaped dotfiles places config files from one or more git repos on a machine, with a policy per item per machine. A repo carries a manifest, dotfiles.yml, of named items; each item lists files with a mode (link, copy or merge). The manifest suggests a policy; the machine decides when it enables the item: sync (new versions apply as they arrive), once (apply, then leave alone) or manual (report that a new version exists; apply when asked). Items not enabled are ignored.

dotfiles is experimental and may change in a minor release.

Set up

A repo needs a dotfiles.yml at its root:

version: 1
items:
  fish:
    policy: manual            # suggestion; absent means manual
    files:
      - source: fish/config.fish
        target: ~/.config/fish/config.fish
        mode: link            # or copy, or merge (JSON/YAML)
      - source: fish/conf.d   # a directory: each file under it is placed
        target: ~/.config/fish/conf.d

Every entry key, the three modes, per-OS and per-tag filters and how a directory source is placed are in the manifest. Where clones, kept files and state live, and the machine's tags and OS, are in the configuration reference. On Windows, link needs symlink permission (Developer Mode or elevation); copy and merge work. Nothing is tested there yet.

Subscribe, enable, apply

untaped dotfiles subscribe git@github.com:acme/dotfiles.git
untaped dotfiles enable fish starship --policy sync
untaped dotfiles enable claude --skip settings
untaped dotfiles apply --dry-run
untaped dotfiles apply

subscribe clones a URL under dotfiles.repos_dir, or registers the checkout at a path (fetched, never pulled: its owner pulls it). Several repos can be subscribed: a personal one everywhere, a work one on the work machine. enable records the machine's choice and places nothing; apply shows the plan, asks, then places the paths. A local file in the way is never destroyed: it moves to dotfiles.kept_dir, and the row says where.

Keep up to date

untaped dotfiles sync            # what a timer runs
untaped dotfiles status
untaped dotfiles status --check  # exit 3 while anything needs you
untaped dotfiles diff
untaped dotfiles apply fish

sync fetches every repo, applies the sync items and reports the rest. It only ever writes a path that is absent or still exactly what the tool wrote, so it never prompts and never loses a local edit. What each policy does to a path in each state, and when a clone is pulled, is in policies. A timer is the machine's business (a launchd agent on macOS, a systemd user timer on Linux); untaped dotfiles sync is what it runs.

Show it in the prompt

status reads nothing from the network. Run without item names or --repo, it writes the status files, so a prompt segment needs only the shell:

# starship.toml
[custom.dotfiles]
command = "cat ~/.untaped/plugins/dotfiles/attention"
when = 'test "$(cat ~/.untaped/plugins/dotfiles/attention 2>/dev/null)" != 0'
format = "[⇣ $output dotfiles]($style) "

Reference

The packaged skill is the full reference: every command, the manifest, the policy table and the pitfalls. Install it for your agent with untaped skills install dotfiles --target claude (or another agent); untaped dotfiles COMMAND --help lists each command's options.

Metadata

Release files for untaped-dotfiles 11.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for untaped-dotfiles 11.0.0
File Size Uploaded Provenance Actions
untaped_dotfiles-11.0.0.tar.gz 42.8 kB With provenance Details for untaped_dotfiles-11.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for untaped-dotfiles 11.0.0
File Interpreter ABI Platform Actions
untaped_dotfiles-11.0.0-py3-none-any.whl Python 3 none any Details for untaped_dotfiles-11.0.0-py3-none-any.whl

Total release size: 102.1 kB

Release files / untaped_dotfiles-11.0.0.tar.gz

Download URL untaped_dotfiles-11.0.0.tar.gz
Size 42.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c72d188cbf0317500e3c17f668b84c1d6a9073fe1c7cc8ccad5dc9dc7ffb69d2
BLAKE2b-256 checksum
How to use checksums
db4575d21f9836618834ec54859489fbac5e868fc29eb419444c6c1780c367b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / untaped_dotfiles-11.0.0-py3-none-any.whl

Download URL untaped_dotfiles-11.0.0-py3-none-any.whl
Size 59.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dbf0a9dfc04494ef2c950d351ea70f641106e063a1340ccce497daf356faa425
BLAKE2b-256 checksum
How to use checksums
5779ef28e5cbaec43bb9eda21303222adee4b1ad325ba92d4616848569d1ac22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Security for untaped-dotfiles 11.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for untaped_dotfiles-11.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page