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
╭──────────────────────────┬─────────────────────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────┬─────────────┬────────┬─────────┬──────────────────┬──────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────╮
│ IDClassSpec.Param typePython typeHiddenExposedAllowed in conf?Env. vars.DefaultValueSource      │
├──────────────────────────┼─────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────┼─────────────┼────────┼─────────┼──────────────────┼──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────┤
│ mdedup.action            │ cloup._params.Option                    │ -a, --action [copy-discarded|copy-selected|delete-discarded|delete-selected|move-discarded|move-selected]                                                                                                                                                                                                                                                                                                                │ click.types.Choice          │ str         │ MDEDUP_ACTIONcopy-selected                                                                                                                      │ copy-selected                                                                                                                      │ DEFAULT     │
│ mdedup.color             │ click_extra.colorize.ColorOption        │ --color, --ansi / --no-color, --no-ansi                                                                                                                                                                                                                                                                                                                                                                                  │ click.types.BoolParamType   │ bool        │ MDEDUP_COLORTrue                                                                                                                               │ 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_THRESHOLD768                                                                                                                                │ 768                                                                                                                                │ DEFAULT     │
│ mdedup.dry_run           │ cloup._params.Option                    │ -n, --dry-run                                                                                                                                                                                                                                                                                                                                                                                                            │ click.types.BoolParamType   │ bool        │ MDEDUP_DRY_RUNFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.export            │ cloup._params.Option                    │ -E, --export MAIL_BOX_PATH                                                                                                                                                                                                                                                                                                                                                                                               │ click.types.Path            │ str         │ MDEDUP_EXPORTNone                                                                                                                               │                                                                                                                                    │ DEFAULT     │
│ mdedup.export_append     │ cloup._params.Option                    │ --export-append                                                                                                                                                                                                                                                                                                                                                                                                          │ click.types.BoolParamType   │ bool        │ MDEDUP_EXPORT_APPENDFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.export_format     │ cloup._params.Option                    │ -e, --export-format [babyl|maildir|mbox|mh|mmdf]                                                                                                                                                                                                                                                                                                                                                                         │ click.types.Choice          │ str         │ MDEDUP_EXPORT_FORMATmbox                                                                                                                               │ mbox                                                                                                                               │ DEFAULT     │
│ mdedup.force_unlock      │ cloup._params.Option                    │ -u, --force-unlock                                                                                                                                                                                                                                                                                                                                                                                                       │ click.types.BoolParamType   │ bool        │ MDEDUP_FORCE_UNLOCKFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.hash_body         │ cloup._params.Option                    │ -b, --hash-body [normalized|raw|skip]                                                                                                                                                                                                                                                                                                                                                                                    │ click.types.Choice          │ str         │ MDEDUP_HASH_BODYskip                                                                                                                               │ 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_ONLYFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.help              │ click_extra.colorize.HelpOption         │ --help                                                                                                                                                                                                                                                                                                                                                                                                                   │ click.types.BoolParamType   │ bool        │ MDEDUP_HELPFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.input_format      │ cloup._params.Option                    │ -i, --input-format [babyl|maildir|mbox|mh|mmdf]                                                                                                                                                                                                                                                                                                                                                                          │ click.types.Choice          │ str         │ MDEDUP_INPUT_FORMATNone                                                                                                                               │                                                                                                                                    │ 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_REGEXPNone                                                                                                                               │                                                                                                                                    │ DEFAULT     │
│ mdedup.show_diff         │ cloup._params.Option                    │ -d, --show-diff                                                                                                                                                                                                                                                                                                                                                                                                          │ click.types.BoolParamType   │ bool        │ MDEDUP_SHOW_DIFFFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.show_params       │ click_extra.parameters.ShowParamsOption │ --show-params                                                                                                                                                                                                                                                                                                                                                                                                            │ click.types.BoolParamType   │ bool        │ MDEDUP_SHOW_PARAMSFalse                                                                                                                              │ True                                                                                                                               │ COMMANDLINE │
│ mdedup.size_threshold    │ cloup._params.Option                    │ -S, --size-threshold BYTES                                                                                                                                                                                                                                                                                                                                                                                               │ click.types.IntParamType    │ int         │ MDEDUP_SIZE_THRESHOLD512                                                                                                                                │ 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_STRATEGYNone                                                                                                                               │                                                                                                                                    │ DEFAULT     │
│ mdedup.time              │ click_extra.timer.TimerOption           │ --time / --no-time                                                                                                                                                                                                                                                                                                                                                                                                       │ click.types.BoolParamType   │ bool        │ MDEDUP_TIMEFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
│ mdedup.time_source       │ cloup._params.Option                    │ -t, --time-source [ctime|date-header]                                                                                                                                                                                                                                                                                                                                                                                    │ click.types.Choice          │ str         │ MDEDUP_TIME_SOURCEdate-header                                                                                                                        │ date-header                                                                                                                        │ DEFAULT     │
│ mdedup.verbosity         │ click_extra.logging.VerbosityOption     │ -v, --verbosity LEVEL                                                                                                                                                                                                                                                                                                                                                                                                    │ click.types.Choice          │ str         │ MDEDUP_VERBOSITYINFO                                                                                                                               │ INFO                                                                                                                               │ DEFAULT_MAP │
│ mdedup.version           │ click_extra.version.ExtraVersionOption  │ --version                                                                                                                                                                                                                                                                                                                                                                                                                │ click.types.BoolParamType   │ bool        │ MDEDUP_VERSIONFalse                                                                                                                              │ False                                                                                                                              │ DEFAULT     │
╰──────────────────────────┴─────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────┴─────────────┴────────┴─────────┴──────────────────┴──────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────╯