Configuration¶
All mdedup
options can be set with a configuration file.
Location¶
Location depends on OS (see
click-extra
doc):
macOS:
~/Library/Application Support/mdedup/*.{toml,yaml,yml,json,ini,xml}
Unix:
~/.config/mdedup/*.{toml,yaml,yml,json,ini,xml}
Windows (roaming):
C:\Users\<user>\AppData\Roaming\mdedup\*.{toml,yaml,yml,json,ini,xml}
TOML sample¶
# My default configuration file.
[mdedup]
verbosity = "DEBUG"
strategy = "discard-older"
action = "delete-discarded"
Troubleshooting¶
You can easily debug the way mdedup
source its configuration with the --show-params
:
$ mdedup --show-params
╭──────────────────────────┬─────────────────────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────┬─────────────┬────────┬─────────┬──────────────────┬──────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────╮
│ ID │ Class │ Spec. │ Param type │ Python type │ Hidden │ Exposed │ Allowed in conf? │ Env. vars. │ Default │ Value │ Source │
├──────────────────────────┼─────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────┼─────────────┼────────┼─────────┼──────────────────┼──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────┤
│ mdedup.action │ cloup._params.Option │ -a, --action [copy-discarded|copy-selected|delete-discarded|delete-selected|move-discarded|move-selected] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_ACTION │ copy-selected │ copy-selected │ DEFAULT │
│ mdedup.color │ click_extra.colorize.ColorOption │ --color, --ansi / --no-color, --no-ansi │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MDEDUP_COLOR │ True │ True │ DEFAULT │
│ mdedup.config │ click_extra.config.ConfigOption │ -C, --config CONFIG_PATH │ click.types.StringParamType │ str │ ✘ │ ✘ │ ✘ │ MDEDUP_CONFIG │ /home/runner/.config/mdedup/*.{toml,yaml,yml,json,ini,xml} │ /home/runner/.config/mdedup/*.{toml,yaml,yml,json,ini,xml} │ DEFAULT │
│ mdedup.content_threshold │ cloup._params.Option │ -C, --content-threshold BYTES │ click.types.IntParamType │ int │ ✘ │ ✓ │ ✓ │ MDEDUP_CONTENT_THRESHOLD │ 768 │ 768 │ DEFAULT │
│ mdedup.dry_run │ cloup._params.Option │ -n, --dry-run │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MDEDUP_DRY_RUN │ False │ False │ DEFAULT │
│ mdedup.export │ cloup._params.Option │ -E, --export MAIL_BOX_PATH │ click.types.Path │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_EXPORT │ None │ │ DEFAULT │
│ mdedup.export_append │ cloup._params.Option │ --export-append │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MDEDUP_EXPORT_APPEND │ False │ False │ DEFAULT │
│ mdedup.export_format │ cloup._params.Option │ -e, --export-format [babyl|maildir|mbox|mh|mmdf] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_EXPORT_FORMAT │ mbox │ mbox │ DEFAULT │
│ mdedup.force_unlock │ cloup._params.Option │ -u, --force-unlock │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MDEDUP_FORCE_UNLOCK │ False │ False │ DEFAULT │
│ mdedup.hash_body │ cloup._params.Option │ -b, --hash-body [normalized|raw|skip] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_HASH_BODY │ skip │ skip │ DEFAULT │
│ mdedup.hash_header │ cloup._params.Option │ -h, --hash-header Header-ID │ click.types.StringParamType │ list │ ✘ │ ✓ │ ✓ │ MDEDUP_HASH_HEADER │ ('Date', 'From', 'To', 'Subject', 'MIME-Version', 'Content-Type', 'Content-Disposition', 'User-Agent', 'X-Priority', 'Message-ID') │ ('Date', 'From', 'To', 'Subject', 'MIME-Version', 'Content-Type', 'Content-Disposition', 'User-Agent', 'X-Priority', 'Message-ID') │ DEFAULT │
│ mdedup.hash_only │ cloup._params.Option │ -H, --hash-only │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MDEDUP_HASH_ONLY │ False │ False │ DEFAULT │
│ mdedup.help │ click_extra.colorize.HelpOption │ --help │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✘ │ MDEDUP_HELP │ False │ False │ DEFAULT │
│ mdedup.input_format │ cloup._params.Option │ -i, --input-format [babyl|maildir|mbox|mh|mmdf] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_INPUT_FORMAT │ None │ │ DEFAULT │
│ mdedup.mail_sources │ cloup._params.Argument │ │ click.types.Path │ list │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
│ mdedup.regexp │ cloup._params.Option │ -r, --regexp REGEXP │ click.types.StringParamType │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_REGEXP │ None │ │ DEFAULT │
│ mdedup.show_diff │ cloup._params.Option │ -d, --show-diff │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MDEDUP_SHOW_DIFF │ False │ False │ DEFAULT │
│ mdedup.show_params │ click_extra.parameters.ShowParamsOption │ --show-params │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✘ │ MDEDUP_SHOW_PARAMS │ False │ True │ COMMANDLINE │
│ mdedup.size_threshold │ cloup._params.Option │ -S, --size-threshold BYTES │ click.types.IntParamType │ int │ ✘ │ ✓ │ ✓ │ MDEDUP_SIZE_THRESHOLD │ 512 │ 512 │ DEFAULT │
│ mdedup.strategy │ cloup._params.Option │ -s, --strategy [discard-all-but-one|discard-bigger|discard-biggest|discard-matching-path|discard-newer|discard-newest|discard-non-matching-path|discard-older|discard-oldest|discard-one|discard-smaller|discard-smallest|select-all-but-one|select-bigger|select-biggest|select-matching-path|select-newer|select-newest|select-non-matching-path|select-older|select-oldest|select-one|select-smaller|select-smallest] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_STRATEGY │ None │ │ DEFAULT │
│ mdedup.time │ click_extra.timer.TimerOption │ --time / --no-time │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MDEDUP_TIME │ False │ False │ DEFAULT │
│ mdedup.time_source │ cloup._params.Option │ -t, --time-source [ctime|date-header] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MDEDUP_TIME_SOURCE │ date-header │ date-header │ DEFAULT │
│ mdedup.verbosity │ click_extra.logging.VerbosityOption │ -v, --verbosity LEVEL │ click.types.Choice │ str │ ✘ │ ✘ │ ✓ │ MDEDUP_VERBOSITY │ INFO │ INFO │ DEFAULT_MAP │
│ mdedup.version │ click_extra.version.ExtraVersionOption │ --version │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✘ │ MDEDUP_VERSION │ False │ False │ DEFAULT │
╰──────────────────────────┴─────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────┴─────────────┴────────┴─────────┴──────────────────┴──────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────╯