You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-17Lines changed: 9 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,7 @@
2
2
3
3
Exclude developer dependency directories and arbitrary paths from macOS backups.
4
4
5
-
tmignore scans your filesystem for dependency directories (node_modules, target, vendor, .venv, etc.) and marks them as excluded from Time Machine using sticky exclusions (`tmutil addexclusion`). It also excludes common developer toolchain paths (Homebrew, Cargo, npm caches, Xcode DerivedData, etc.) by default.
6
-
7
-
## Why not asimov?
8
-
9
-
[asimov](https://github.com/stevegrunwell/asimov) runs as a LaunchDaemon (root context), which means `$HOME` resolves to `/var/root` instead of your home directory. The service runs but silently excludes nothing. tmignore fixes this by running as a LaunchAgent (user context) where `$HOME` resolves correctly. No root access required.
5
+
tmignore scans your filesystem for dependency directories (*node_modules*, *target*, *vendor*, *.venv*, etc.) and marks them as excluded from Time Machine using sticky exclusions (`tmutil addexclusion`). It also excludes common developer toolchain paths (Homebrew, Cargo, npm caches, Xcode DerivedData, etc.) by default.
10
6
11
7
## Install
12
8
@@ -39,7 +35,7 @@ tmignore install # Set up background service (every 24h)
39
35
40
36
## Config
41
37
42
-
`~/.config/tmignore/config.toml`
38
+
*~/.config/tmignore/config.toml*
43
39
44
40
tmignore ships with sensible defaults built into the binary. The config file is optional and only needed to customize behavior. Run `tmignore init` to generate one.
45
41
@@ -72,12 +68,12 @@ This file is designed to be synced across machines via dotfiles, iCloud, or simi
72
68
73
69
These paths are excluded from backups and skipped during scanning by default. No config needed.
Use `disable_exclude_paths` to stop excluding any of these. Use `extra_exclude_paths` to add your own.
83
79
@@ -132,7 +128,7 @@ Disable any built-in pattern by adding its name to `disable_patterns` in the con
132
128
133
129
## LaunchAgent service
134
130
135
-
`tmignore install` creates a LaunchAgent at `~/Library/LaunchAgents/com.wassimk.tmignore.plist` that runs `tmignore run` every 24 hours. Logs are written to `~/Library/Logs/tmignore/`.
131
+
`tmignore install` creates a LaunchAgent at *~/Library/LaunchAgents/com.wassimk.tmignore.plist* that runs `tmignore run` every 24 hours. Logs are written to *~/Library/Logs/tmignore/*.
136
132
137
133
The service runs in user context (not root), so `$HOME` resolves correctly and no elevated permissions are needed.
138
134
@@ -152,7 +148,3 @@ tmignore uses `tmutil addexclusion` (without the `-p` flag) which writes a stick
152
148
## Attribution
153
149
154
150
tmignore is inspired by [asimov](https://github.com/stevegrunwell/asimov) by Steve Grunwell.
0 commit comments