id = "mackup" name = "Mackup" homepage = "https://github.com/lra/mackup" description = "Keep your application settings in sync (OS X/Linux)." executables = ["mackup"] platforms = ["macos", "linux"] [dotfiles] # https://github.com/lra/mackup/blob/master/doc/README.md: "All the # configuration is done in a file named .mackup.cfg stored at the root of your # home folder", an INI file with [storage], [applications_to_ignore] and # [applications_to_sync] sections. The same document describes ~/.mackup: "In # your home, create a .mackup directory and add a config file for the # application you'd like to support: mkdir ~/.mackup; touch # ~/.mackup/nethack.cfg" — hand-written application definitions for tools # Mackup does not know about. # # Only Mackup's own two configuration locations are described here. The list of # applications Mackup ships is its own database and is not reproduced. paths = ["~/.mackup.cfg", "~/.mackup/"] # Mackup moves files and symlinks them back; it holds no account of its own. secret = [] # Read once when the command starts. side_effect = false # Carrying these files between machines is mackup's entire job. self_sync = true # No machine_lines: [storage] path is documented as relative to the home # directory ("path = .dotfiles"), and the ignore/sync application lists are the # user's choice of what to carry, which is exactly what should travel. [commands] format = 1 label = "Mackup" description = "Back up or restore application settings. Only the global flags are exposed here; pick the subcommand yourself." quality = "ai-draft" base = "fig:mackup" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/mackup.ts" license = "MIT" [[commands.field]] id = "dry_run" label = "Dry run (show steps only)" type = "boolean" option = ["--dry-run", "-n"] sources = ["fig"] [[commands.field]] id = "force" label = "Answer every question Yes" type = "boolean" option = ["--force", "-f"] effect = "overwrite" sources = ["fig"] [[commands.task]] id = "preview" label = "Preview" fields = ["dry_run"] set = { dry_run = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["dry_run", "force"]