diff --git a/manpage/dotdrop.1 b/manpage/dotdrop.1 new file mode 100644 index 0000000..86035a4 --- /dev/null +++ b/manpage/dotdrop.1 @@ -0,0 +1,300 @@ +.\" Text automatically generated by txt2man +.TH dotdrop 1 "22 December 2022" "dotdrop-v1.12.2" "Save your dotfiles once, deploy them everywhere" +.SH NAME +\fBdotdrop \fP- save your dotfiles once, deploy them everywhere +\fB +.SH SYNOPSIS +.nf +.fam C +\fBdotdrop\fP \fICOMMAND\fP [\fIOPTIONS\fP] [\fIARGS\fP] \.\.\. +\fBdotdrop\fP \fB--help\fP +\fBdotdrop\fP \fB--version\fP + +.fam T +.fi +.fam T +.fi +.SH DESCRIPTION +Dotdrop makes the management of dotfiles between different hosts easy. +It allows you to store your dotfiles in Git and automagically deploy +different versions of the same file on different setups. +.PP +It also allows manage different sets of dotfiles. For example, you can have +a set of dotfiles for your home laptop and a different set for your office +desktop. Those sets may overlap, and different versions of the same dotfiles +can be deployed using different predefined profiles. Or you may have a main +set of dotfiles for your everyday host and a subset you only need to deploy +to temporary hosts (cloud VM etc.) that may be using a slightly different +version of some of the dotfiles. +.SH COMMANDS +.TP +.B +install +Install dotfiles +.RS +.TP +.B +\fB-a\fP \fB--force-actions\fP +Execute all actions even if no dotfile is installed. +.TP +.B +\fB-d\fP \fB--dry\fP +Dry run. +.TP +.B +\fB-D\fP \fB--showdiff\fP +Show a diff before overwriting. +.TP +.B +\fB-f\fP \fB--force\fP +Do not ask user confirmation for anything. +.TP +.B +\fB-n\fP \fB--nodiff\fP +Do not diff when installing. +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.TP +.B +\fB-t\fP \fB--temp\fP +Install to a temporary directory for review. +.TP +.B +\fB-w\fP \fB--workers\fP= +Number of concurrent workers [default: 1]. +.TP +.B +\fB-W\fP \fB--workdir-clear\fP +Clear the workdir. +.RE +.TP +.B +import +Import dotfiles +.RS +.TP +.B +\fB-d\fP \fB--dry\fP +Dry run. +.TP +.B +\fB-f\fP \fB--force\fP +Do not ask user confirmation for anything. +.TP +.B +\fB-i\fP \fB--ignore\fP= +Pattern to ignore. +.TP +.B +\fB-l\fP \fB--link\fP= +Link option (nolink|absolute|relative|link_children). +.TP +.B +\fB-m\fP \fB--preserve-mode\fP +Insert a chmod entry in the dotfile with its mode. +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.TP +.B +\fB-s\fP \fB--as\fP= +Import as a different path from actual path. +.TP +.B +\fB--transr\fP= +Associate trans_read key on import. +.TP +.B +\fB--transw\fP= +Apply trans_write key on import. +.RE +.TP +.B +compare +Compare dotfiles +.RS +.TP +.B +\fB-C\fP \fB--file\fP= +Path of dotfile to compare. +.TP +.B +\fB-i\fP \fB--ignore\fP= +Pattern to ignore. +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.TP +.B +\fB-w\fP \fB--workers\fP= +Number of concurrent workers [default: 1]. +.TP +.B +\fB-z\fP \fB--ignore-missing\fP +Ignore files in installed folders that are missing. +.RE +.TP +.B +update +Update a managed dotfile +.RS +.TP +.B +\fB-d\fP \fB--dry\fP +Dry run. +.TP +.B +\fB-f\fP \fB--force\fP +Do not ask user confirmation for anything. +.TP +.B +\fB-i\fP \fB--ignore\fP= +Pattern to ignore. +.TP +.B +\fB-k\fP \fB--key\fP +Treat as a dotfile key. +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.TP +.B +\fB-P\fP \fB--show-patch\fP +Provide a one-liner to manually patch template. +.TP +.B +\fB-w\fP \fB--workers\fP= +Number of concurrent workers [default: 1]. +.TP +.B +\fB-z\fP \fB--ignore-missing\fP +Ignore files in installed folders that are missing. +.RE +.TP +.B +remove +Unmanage a dotfile +.RS +.TP +.B +\fB-d\fP \fB--dry\fP +Dry run. +.TP +.B +\fB-f\fP \fB--force\fP +Do not ask user confirmation for anything. +.TP +.B +\fB-k\fP \fB--key\fP +Treat as a dotfile key. +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.RE +.TP +.B +files +List the managed dotfiles +.RS +.TP +.B +\fB-G\fP \fB--grepable\fP +Grepable output. +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.TP +.B +\fB-T\fP \fB--template\fP +Only template dotfiles. +.RE +.TP +.B +detail +Detail managed dotfiles +.RS +.TP +.B +\fB-p\fP \fB--profile\fP= +Specify the profile to use. +.RE +.TP +.B +profiles +List all profiles +.RS +.TP +.B +\fB-G\fP \fB--grepable\fP +Grepable output. +.SH GLOBAL OPTIONS +.TP +.B +\fB-b\fP \fB--no-banner\fP +Do not display the banner. +.TP +.B +\fB-c\fP \fB--cfg\fP= +Path to the config. +.TP +.B +\fB-V\fP \fB--verbose\fP +Be verbose. +.SH EXAMPLES +.TP +.B +\fBdotdrop\fP install +[\fB-VbtfndDaW\fP] [\fB-c\fP ] [\fB-p\fP ] +[\fB-w\fP ] [\.\.\.] +.TP +.B +\fBdotdrop\fP import +[\fB-Vbdfm\fP] [\fB-c\fP ] [\fB-p\fP ] [\fB-i\fP \.\.\.] +[\fB--transr\fP=] [\fB--transw\fP=] +[\fB-l\fP ] [\fB-s\fP ] \.\.\. +.TP +.B +\fBdotdrop\fP compare +[\fB-LVbz\fP] [\fB-c\fP ] [\fB-p\fP ] +[\fB-w\fP ] [\fB-C\fP \.\.\.] [\fB-i\fP \.\.\.] +.TP +.B +\fBdotdrop\fP update +[\fB-VbfdkPz\fP] [\fB-c\fP ] [\fB-p\fP ] +[\fB-w\fP ] [\fB-i\fP \.\.\.] [\.\.\.] +.TP +.B +\fBdotdrop\fP remove +[\fB-Vbfdk\fP] [\fB-c\fP ] [\fB-p\fP ] [\.\.\.] +.TP +.B +\fBdotdrop\fP files +[\fB-VbTG\fP] [\fB-c\fP ] [\fB-p\fP ] +.TP +.B +\fBdotdrop\fP detail +[\fB-Vb\fP] [\fB-c\fP ] [\fB-p\fP ] [\.\.\.] +.TP +.B +\fBdotdrop\fP profiles +[\fB-VbG\fP] [\fB-c\fP ] +.PP +\fBdotdrop\fP \fB--help\fP +.PP +\fBdotdrop\fP \fB--version\fP +.SH ABOUT +More information can be found on the repository under +and in the main documentation under +.SH AUTHOR +Written by deadc0de6 +.SH COPYRIGHT +\fBdotdrop\fP is copyright (c) 2017, deadc0de6. Released under the GPLv3 license. +.SH REPORTING BUGS + diff --git a/manpage/dotdrop.txt2man b/manpage/dotdrop.txt2man new file mode 100644 index 0000000..cecefcf --- /dev/null +++ b/manpage/dotdrop.txt2man @@ -0,0 +1,114 @@ +NAME + dotdrop - save your dotfiles once, deploy them everywhere + +SYNOPSIS + dotdrop COMMAND [OPTIONS] [ARGS] ... + dotdrop --help + dotdrop --version + +DESCRIPTION + Dotdrop makes the management of dotfiles between different hosts easy. + It allows you to store your dotfiles in Git and automagically deploy + different versions of the same file on different setups. + + It also allows manage different sets of dotfiles. For example, you can have + a set of dotfiles for your home laptop and a different set for your office + desktop. Those sets may overlap, and different versions of the same dotfiles + can be deployed using different predefined profiles. Or you may have a main + set of dotfiles for your everyday host and a subset you only need to deploy + to temporary hosts (cloud VM etc.) that may be using a slightly different + version of some of the dotfiles. + +COMMANDS + install Install dotfiles + -a --force-actions Execute all actions even if no dotfile is installed. + -d --dry Dry run. + -D --showdiff Show a diff before overwriting. + -f --force Do not ask user confirmation for anything. + -n --nodiff Do not diff when installing. + -p --profile= Specify the profile to use. + -t --temp Install to a temporary directory for review. + -w --workers= Number of concurrent workers [default: 1]. + -W --workdir-clear Clear the workdir. + + import Import dotfiles + -d --dry Dry run. + -f --force Do not ask user confirmation for anything. + -i --ignore= Pattern to ignore. + -l --link= Link option (nolink|absolute|relative|link_children). + -m --preserve-mode Insert a chmod entry in the dotfile with its mode. + -p --profile= Specify the profile to use. + -s --as= Import as a different path from actual path. + --transr= Associate trans_read key on import. + --transw= Apply trans_write key on import. + + compare Compare dotfiles + -C --file= Path of dotfile to compare. + -i --ignore= Pattern to ignore. + -p --profile= Specify the profile to use. + -w --workers= Number of concurrent workers [default: 1]. + -z --ignore-missing Ignore files in installed folders that are missing. + + update Update a managed dotfile + -d --dry Dry run. + -f --force Do not ask user confirmation for anything. + -i --ignore= Pattern to ignore. + -k --key Treat as a dotfile key. + -p --profile= Specify the profile to use. + -P --show-patch Provide a one-liner to manually patch template. + -w --workers= Number of concurrent workers [default: 1]. + -z --ignore-missing Ignore files in installed folders that are missing. + + remove Unmanage a dotfile + -d --dry Dry run. + -f --force Do not ask user confirmation for anything. + -k --key Treat as a dotfile key. + -p --profile= Specify the profile to use. + + files List the managed dotfiles + -G --grepable Grepable output. + -p --profile= Specify the profile to use. + -T --template Only template dotfiles. + + detail Detail managed dotfiles + -p --profile= Specify the profile to use. + + profiles List all profiles + -G --grepable Grepable output. + +GLOBAL OPTIONS + -b --no-banner Do not display the banner. + -c --cfg= Path to the config. + -V --verbose Be verbose. + +EXAMPLES + dotdrop install [-VbtfndDaW] [-c ] [-p ] + [-w ] [...] + dotdrop import [-Vbdfm] [-c ] [-p ] [-i ...] + [--transr=] [--transw=] + [-l ] [-s ] ... + dotdrop compare [-LVbz] [-c ] [-p ] + [-w ] [-C ...] [-i ...] + dotdrop update [-VbfdkPz] [-c ] [-p ] + [-w ] [-i ...] [...] + dotdrop remove [-Vbfdk] [-c ] [-p ] [...] + dotdrop files [-VbTG] [-c ] [-p ] + dotdrop detail [-Vb] [-c ] [-p ] [...] + dotdrop profiles [-VbG] [-c ] + + dotdrop --help + + dotdrop --version + +ABOUT + More information can be found on the repository under + and in the main documentation under + +AUTHOR + Written by deadc0de6 + +COPYRIGHT + dotdrop is copyright (c) 2017, deadc0de6. Released under the GPLv3 license. + +REPORTING BUGS + diff --git a/manpage/generate.sh b/manpage/generate.sh new file mode 100755 index 0000000..9a83c37 --- /dev/null +++ b/manpage/generate.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +version=$(git describe --tags --abbrev=0) + +hash txt2man 2>/dev/null +[ "$?" != "0" ] && echo "install txt2man" && exit 1 + +txt2man \ + -t "dotdrop" \ + -P "dotdrop" \ + -r "dotdrop-${version}" \ + -s 1 \ + -v "Save your dotfiles once, deploy them everywhere" \ + dotdrop.txt2man > dotdrop.1