conf

conf - my dotfiles manager
git clone git://git.alex.balgavy.eu/conf.git
Log | Files | Refs | README | LICENSE

conf.1 (7088B)


      1 .\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
      2 .\"
      3 .\" Standard preamble:
      4 .\" ========================================================================
      5 .de Sp \" Vertical space (when we can't use .PP)
      6 .if t .sp .5v
      7 .if n .sp
      8 ..
      9 .de Vb \" Begin verbatim text
     10 .ft CW
     11 .nf
     12 .ne \\$1
     13 ..
     14 .de Ve \" End verbatim text
     15 .ft R
     16 .fi
     17 ..
     18 .\" Set up some character translations and predefined strings.  \*(-- will
     19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
     20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
     21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
     22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
     23 .\" nothing in troff, for use with C<>.
     24 .tr \(*W-
     25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
     26 .ie n \{\
     27 .    ds -- \(*W-
     28 .    ds PI pi
     29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
     30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
     31 .    ds L" ""
     32 .    ds R" ""
     33 .    ds C` ""
     34 .    ds C' ""
     35 'br\}
     36 .el\{\
     37 .    ds -- \|\(em\|
     38 .    ds PI \(*p
     39 .    ds L" ``
     40 .    ds R" ''
     41 .    ds C`
     42 .    ds C'
     43 'br\}
     44 .\"
     45 .\" Escape single quotes in literal strings from groff's Unicode transform.
     46 .ie \n(.g .ds Aq \(aq
     47 .el       .ds Aq '
     48 .\"
     49 .\" If the F register is >0, we'll generate index entries on stderr for
     50 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
     51 .\" entries marked with X<> in POD.  Of course, you'll have to process the
     52 .\" output yourself in some meaningful fashion.
     53 .\"
     54 .\" Avoid warning from groff about undefined register 'F'.
     55 .de IX
     56 ..
     57 .nr rF 0
     58 .if \n(.g .if rF .nr rF 1
     59 .if (\n(rF:(\n(.g==0)) \{\
     60 .    if \nF \{\
     61 .        de IX
     62 .        tm Index:\\$1\t\\n%\t"\\$2"
     63 ..
     64 .        if !\nF==2 \{\
     65 .            nr % 0
     66 .            nr F 2
     67 .        \}
     68 .    \}
     69 .\}
     70 .rr rF
     71 .\"
     72 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
     73 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
     74 .    \" fudge factors for nroff and troff
     75 .if n \{\
     76 .    ds #H 0
     77 .    ds #V .8m
     78 .    ds #F .3m
     79 .    ds #[ \f1
     80 .    ds #] \fP
     81 .\}
     82 .if t \{\
     83 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
     84 .    ds #V .6m
     85 .    ds #F 0
     86 .    ds #[ \&
     87 .    ds #] \&
     88 .\}
     89 .    \" simple accents for nroff and troff
     90 .if n \{\
     91 .    ds ' \&
     92 .    ds ` \&
     93 .    ds ^ \&
     94 .    ds , \&
     95 .    ds ~ ~
     96 .    ds /
     97 .\}
     98 .if t \{\
     99 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
    100 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
    101 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
    102 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
    103 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
    104 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
    105 .\}
    106 .    \" troff and (daisy-wheel) nroff accents
    107 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
    108 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
    109 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
    110 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
    111 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
    112 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
    113 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
    114 .ds ae a\h'-(\w'a'u*4/10)'e
    115 .ds Ae A\h'-(\w'A'u*4/10)'E
    116 .    \" corrections for vroff
    117 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
    118 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
    119 .    \" for low resolution devices (crt and lpr)
    120 .if \n(.H>23 .if \n(.V>19 \
    121 \{\
    122 .    ds : e
    123 .    ds 8 ss
    124 .    ds o a
    125 .    ds d- d\h'-1'\(ga
    126 .    ds D- D\h'-1'\(hy
    127 .    ds th \o'bp'
    128 .    ds Th \o'LP'
    129 .    ds ae ae
    130 .    ds Ae AE
    131 .\}
    132 .rm #[ #] #H #V #F C
    133 .\" ========================================================================
    134 .\"
    135 .IX Title "CONF 1"
    136 .TH CONF 1 "2020-02-11" "perl v5.30.1" "User Contributed Perl Documentation"
    137 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
    138 .\" way too many mistakes in technical documents.
    139 .if n .ad l
    140 .nh
    141 .SH "NAME"
    142 conf \- Manage your dotfiles.
    143 .SH "SYNOPSIS"
    144 .IX Header "SYNOPSIS"
    145 .Vb 1
    146 \&  conf [options] command [entry_1 [entry_2 ...]]
    147 \&
    148 \&  Help Options:
    149 \&    \-\-help, \-h        Show this script\*(Aqs help information.
    150 \&    \-\-manual, \-man    Read this script\*(Aqs manual.
    151 \&
    152 \&  Arguments:
    153 \&    link              Link an entry.
    154 \&    unlink            Unlink an entry.
    155 \&    check             Check an entry.
    156 \&    list              List entries.
    157 \&    edit              Edit the map file.
    158 .Ve
    159 .SH "OPTIONS"
    160 .IX Header "OPTIONS"
    161 .IP "\fB\-\-help\fR Show the brief help information." 4
    162 .IX Item "--help Show the brief help information."
    163 .PD 0
    164 .IP "\fB\-\-manual\fR Read the manual, with examples." 4
    165 .IX Item "--manual Read the manual, with examples."
    166 .PD
    167 .SH "DESCRIPTION"
    168 .IX Header "DESCRIPTION"
    169 This is a script to manage filesystem-wide symbolic links to your dotfiles (configuration), based on definitions in the map file.
    170 The location of the map file is set in the script itself, using the \f(CW$MAPFILE\fR variable.
    171 The default name of the mapfile is \*(L"dot.map\*(R", and it is located in the root of your dotfiles folder.
    172 The location of your dotfiles is set either using the \f(CW$DOTFILES\fR environment variable, or inside the script itself.
    173 .PP
    174 Every existing file will be backed up by appending the extension '.bak', before being overwritten.
    175 If a directory in the destination path doesn't exist, it is automatically created.
    176 `conf` doesn't remove empty directories after unlinking.
    177 When linking/unlinking you either provide the name of the top directory, or the full name of the mapped path (see examples below for more information).
    178 .SH "ARGUMENTS"
    179 .IX Header "ARGUMENTS"
    180 The available commands are:
    181 .IP "\(bu" 4
    182 \&\fBlink [entry1 [entry2...]]\fR
    183 .Sp
    184 Link entries according to the map file.
    185 With no arguments, links all entries.
    186 .IP "\(bu" 4
    187 \&\fBunlink [entry1 [entry2...]]\fR
    188 .Sp
    189 Unlink entries according to the map file.
    190 With no arguments, unlinks all entries.
    191 .IP "\(bu" 4
    192 \&\fBcheck [entry1 [entry2...]]\fR
    193 .Sp
    194 Check that entries are linked accordint to the map file.
    195 With no arguments, checks all entries.
    196 .IP "\(bu" 4
    197 \&\fBedit\fR
    198 .Sp
    199 Edit the map file with whatever you set as \f(CW$EDITOR\fR
    200 .IP "\(bu" 4
    201 \&\fBlist\fR
    202 .Sp
    203 List the current mappings.
    204 .SH "EXAMPLES"
    205 .IX Header "EXAMPLES"
    206 Link everything in the mapfile:
    207 .PP
    208 .Vb 1
    209 \&  conf link
    210 .Ve
    211 .PP
    212 Link all files in the \*(L"vim\*(R" directory:
    213 .PP
    214 .Vb 1
    215 \&  conf link vim
    216 .Ve
    217 .PP
    218 Link specifically the shell/bashrc file:
    219 .PP
    220 .Vb 1
    221 \&  conf link shell/bashrc
    222 .Ve
    223 .PP
    224 Link the shell/zprofile file and the vim/autoload directory:
    225 .PP
    226 .Vb 1
    227 \&  conf link shell/zprofile vim/autoload
    228 .Ve
    229 .PP
    230 Check if everything is linked:
    231 .PP
    232 .Vb 1
    233 \&  conf check
    234 .Ve
    235 .PP
    236 Check if everything in the \*(L"vim\*(R" directory is linked:
    237 .PP
    238 .Vb 1
    239 \&  conf check vim
    240 .Ve
    241 .PP
    242 Remove the link to the \*(L"lf\*(R" directory:
    243 .PP
    244 .Vb 1
    245 \&  conf unlink lf
    246 .Ve
    247 .PP
    248 Remove all links defined in the mapfile:
    249 .PP
    250 .Vb 1
    251 \&  conf unlink
    252 .Ve
    253 .SH "AUTHOR"
    254 .IX Header "AUTHOR"
    255 Alexander Balgavy (thezeroalpha), <https://github.com/thezeroalpha>.