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>.