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/dotfiles/attention"
when = 'test "$(cat ~/.untaped/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 10.1.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 10.1.0
File Size Uploaded Provenance Actions
untaped_dotfiles-10.1.0.tar.gz 39.8 kB With provenance Details for untaped_dotfiles-10.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 95.4 kB

Release files / untaped_dotfiles-10.1.0.tar.gz

Download URL untaped_dotfiles-10.1.0.tar.gz
Size 39.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ef1beb413ad23881aabf6246b425874f3d0a25670507681dcbfcfbc1412cbd33
BLAKE2b-256 checksum
How to use checksums
b8e7d5d0a952162b8440290eb4689fd3a9c20685d0a18f672be320982be70150
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 9, 2026.

Transparency log

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

Download URL untaped_dotfiles-10.1.0-py3-none-any.whl
Size 55.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ddcb54e5f4945106ec11ccd571a0b02bf177f358c0e88dea0c2d306d3df3a094
BLAKE2b-256 checksum
How to use checksums
5409e5df59881905afcf0febd8cbd26b45c9cee6a0d6789f523bae9ebd9c4f8e
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 9, 2026.

Transparency log

Security for untaped-dotfiles 10.1.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-10.1.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 9, 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