···44444545# In general, piggyback off git helper functions for subcommands
46464747+# TODO: `yadm add` does not complete paths the same way as `git add`.
4848+# May be easier to just overwrite the default completion completely
4949+4750# Based on output of `yadm introspect switches`:
4851complete -f -c yadm -n '__fish_git_needs_command' \
4952 -l yadm-archive -d 'yadm: Override the location of the yadm encrypted files archive'
-4
.config/fish/functions/vs.fish
···11-# Defined in /var/folders/4w/bjgmcfds1nv33zqkhf2q2_340000gp/T//fish.AWuPwF/vs.fish @ line 1
22-function vs
33-44-end
+1
.config/yadm/bootstrap
···63636464function setup_linux() {
6565 # TBD. Might need separate function each for NixOS / Termux
6666+ # To consider: brew on linux? Gets a bunch of stuff for free I guess...
6667 :
6768}
6869
+1-1
.inputrc
···11set show-mode-in-prompt on
22-set emacs-mode-string
22+set emacs-mode-string
33set show-all-if-unmodified on
44set colored-stats on
55set visible-stats on
···11+[MASTER]
22+33+# A comma-separated list of package or module names from where C extensions may
44+# be loaded. Extensions are loading into the active Python interpreter and may
55+# run arbitrary code.
66+extension-pkg-whitelist=
77+88+# Add files or directories to the blacklist. They should be base names, not
99+# paths.
1010+ignore=CVS
1111+1212+# Add files or directories matching the regex patterns to the blacklist. The
1313+# regex matches against base names, not paths.
1414+ignore-patterns=
1515+1616+# Python code to execute, usually for sys.path manipulation such as
1717+# pygtk.require().
1818+#init-hook=
1919+2020+# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
2121+# number of processors available to use.
2222+jobs=1
2323+2424+# Control the amount of potential inferred values when inferring a single
2525+# object. This can help the performance when dealing with large functions or
2626+# complex, nested conditions.
2727+limit-inference-results=100
2828+2929+# List of plugins (as comma separated values of python module names) to load,
3030+# usually to register additional checkers.
3131+load-plugins=
3232+3333+# Pickle collected data for later comparisons.
3434+persistent=yes
3535+3636+# Specify a configuration file.
3737+#rcfile=
3838+3939+# When enabled, pylint would attempt to guess common misconfiguration and emit
4040+# user-friendly hints instead of false-positive error messages.
4141+suggestion-mode=yes
4242+4343+# Allow loading of arbitrary C extensions. Extensions are imported into the
4444+# active Python interpreter and may run arbitrary code.
4545+unsafe-load-any-extension=no
4646+4747+4848+[MESSAGES CONTROL]
4949+5050+# Only show warnings with the listed confidence levels. Leave empty to show
5151+# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
5252+confidence=
5353+5454+# Disable the message, report, category or checker with the given id(s). You
5555+# can either give multiple identifiers separated by comma (,) or put this
5656+# option multiple times (only on the command line, not in the configuration
5757+# file where it should appear only once). You can also use "--disable=all" to
5858+# disable everything first and then reenable specific checks. For example, if
5959+# you want to run only the similarities checker, you can use "--disable=all
6060+# --enable=similarities". If you want to run only the classes checker, but have
6161+# no Warning level messages displayed, use "--disable=all --enable=classes
6262+# --disable=W".
6363+disable=print-statement,
6464+ parameter-unpacking,
6565+ unpacking-in-except,
6666+ old-raise-syntax,
6767+ backtick,
6868+ long-suffix,
6969+ old-ne-operator,
7070+ old-octal-literal,
7171+ import-star-module-level,
7272+ non-ascii-bytes-literal,
7373+ raw-checker-failed,
7474+ bad-inline-option,
7575+ locally-disabled,
7676+ file-ignored,
7777+ suppressed-message,
7878+ useless-suppression,
7979+ deprecated-pragma,
8080+ use-symbolic-message-instead,
8181+ apply-builtin,
8282+ basestring-builtin,
8383+ buffer-builtin,
8484+ cmp-builtin,
8585+ coerce-builtin,
8686+ execfile-builtin,
8787+ file-builtin,
8888+ long-builtin,
8989+ raw_input-builtin,
9090+ reduce-builtin,
9191+ standarderror-builtin,
9292+ unicode-builtin,
9393+ xrange-builtin,
9494+ coerce-method,
9595+ delslice-method,
9696+ getslice-method,
9797+ setslice-method,
9898+ no-absolute-import,
9999+ old-division,
100100+ dict-iter-method,
101101+ dict-view-method,
102102+ next-method-called,
103103+ metaclass-assignment,
104104+ indexing-exception,
105105+ raising-string,
106106+ reload-builtin,
107107+ oct-method,
108108+ hex-method,
109109+ nonzero-method,
110110+ cmp-method,
111111+ input-builtin,
112112+ round-builtin,
113113+ intern-builtin,
114114+ unichr-builtin,
115115+ map-builtin-not-iterating,
116116+ zip-builtin-not-iterating,
117117+ range-builtin-not-iterating,
118118+ filter-builtin-not-iterating,
119119+ using-cmp-argument,
120120+ eq-without-hash,
121121+ div-method,
122122+ idiv-method,
123123+ rdiv-method,
124124+ exception-message-attribute,
125125+ invalid-str-codec,
126126+ sys-max-int,
127127+ bad-python3-import,
128128+ deprecated-string-function,
129129+ deprecated-str-translate-call,
130130+ deprecated-itertools-function,
131131+ deprecated-types-field,
132132+ next-method-defined,
133133+ dict-items-not-iterating,
134134+ dict-keys-not-iterating,
135135+ dict-values-not-iterating,
136136+ deprecated-operator-function,
137137+ deprecated-urllib-function,
138138+ xreadlines-attribute,
139139+ deprecated-sys-function,
140140+ exception-escape,
141141+ comprehension-escape
142142+143143+# Enable the message, report, category or checker with the given id(s). You can
144144+# either give multiple identifier separated by comma (,) or put this option
145145+# multiple time (only on the command line, not in the configuration file where
146146+# it should appear only once). See also the "--disable" option for examples.
147147+enable=c-extension-no-member
148148+149149+150150+[REPORTS]
151151+152152+# Python expression which should return a score less than or equal to 10. You
153153+# have access to the variables 'error', 'warning', 'refactor', and 'convention'
154154+# which contain the number of messages in each category, as well as 'statement'
155155+# which is the total number of statements analyzed. This score is used by the
156156+# global evaluation report (RP0004).
157157+evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
158158+159159+# Template used to display messages. This is a python new-style format string
160160+# used to format the message information. See doc for all details.
161161+#msg-template=
162162+163163+# Set the output format. Available formats are text, parseable, colorized, json
164164+# and msvs (visual studio). You can also give a reporter class, e.g.
165165+# mypackage.mymodule.MyReporterClass.
166166+output-format=text
167167+168168+# Tells whether to display a full report or only the messages.
169169+reports=no
170170+171171+# Activate the evaluation score.
172172+score=yes
173173+174174+175175+[REFACTORING]
176176+177177+# Maximum number of nested blocks for function / method body
178178+max-nested-blocks=5
179179+180180+# Complete name of functions that never returns. When checking for
181181+# inconsistent-return-statements if a never returning function is called then
182182+# it will be considered as an explicit return statement and no message will be
183183+# printed.
184184+never-returning-functions=sys.exit
185185+186186+187187+[LOGGING]
188188+189189+# Format style used to check logging format string. `old` means using %
190190+# formatting, `new` is for `{}` formatting,and `fstr` is for f-strings.
191191+logging-format-style=old
192192+193193+# Logging modules to check that the string format arguments are in logging
194194+# function parameter format.
195195+logging-modules=logging
196196+197197+198198+[SPELLING]
199199+200200+# Limits count of emitted suggestions for spelling mistakes.
201201+max-spelling-suggestions=4
202202+203203+# Spelling dictionary name. Available dictionaries: none. To make it work,
204204+# install the python-enchant package.
205205+spelling-dict=
206206+207207+# List of comma separated words that should not be checked.
208208+spelling-ignore-words=
209209+210210+# A path to a file that contains the private dictionary; one word per line.
211211+spelling-private-dict-file=
212212+213213+# Tells whether to store unknown words to the private dictionary (see the
214214+# --spelling-private-dict-file option) instead of raising a message.
215215+spelling-store-unknown-words=no
216216+217217+218218+[MISCELLANEOUS]
219219+220220+# List of note tags to take in consideration, separated by a comma.
221221+notes=FIXME,
222222+ XXX,
223223+ TODO
224224+225225+226226+[TYPECHECK]
227227+228228+# List of decorators that produce context managers, such as
229229+# contextlib.contextmanager. Add to this list to register other decorators that
230230+# produce valid context managers.
231231+contextmanager-decorators=contextlib.contextmanager
232232+233233+# List of members which are set dynamically and missed by pylint inference
234234+# system, and so shouldn't trigger E1101 when accessed. Python regular
235235+# expressions are accepted.
236236+generated-members=
237237+238238+# Tells whether missing members accessed in mixin class should be ignored. A
239239+# mixin class is detected if its name ends with "mixin" (case insensitive).
240240+ignore-mixin-members=yes
241241+242242+# Tells whether to warn about missing members when the owner of the attribute
243243+# is inferred to be None.
244244+ignore-none=yes
245245+246246+# This flag controls whether pylint should warn about no-member and similar
247247+# checks whenever an opaque object is returned when inferring. The inference
248248+# can return multiple potential results while evaluating a Python object, but
249249+# some branches might not be evaluated, which results in partial inference. In
250250+# that case, it might be useful to still emit no-member and other checks for
251251+# the rest of the inferred objects.
252252+ignore-on-opaque-inference=yes
253253+254254+# List of class names for which member attributes should not be checked (useful
255255+# for classes with dynamically set attributes). This supports the use of
256256+# qualified names.
257257+ignored-classes=optparse.Values,thread._local,_thread._local
258258+259259+# List of module names for which member attributes should not be checked
260260+# (useful for modules/projects where namespaces are manipulated during runtime
261261+# and thus existing member attributes cannot be deduced by static analysis). It
262262+# supports qualified module names, as well as Unix pattern matching.
263263+ignored-modules=
264264+265265+# Show a hint with possible names when a member name was not found. The aspect
266266+# of finding the hint is based on edit distance.
267267+missing-member-hint=yes
268268+269269+# The minimum edit distance a name should have in order to be considered a
270270+# similar match for a missing member name.
271271+missing-member-hint-distance=1
272272+273273+# The total number of similar names that should be taken in consideration when
274274+# showing a hint for a missing member.
275275+missing-member-max-choices=1
276276+277277+# List of decorators that change the signature of a decorated function.
278278+signature-mutators=
279279+280280+281281+[VARIABLES]
282282+283283+# List of additional names supposed to be defined in builtins. Remember that
284284+# you should avoid defining new builtins when possible.
285285+additional-builtins=
286286+287287+# Tells whether unused global variables should be treated as a violation.
288288+allow-global-unused-variables=yes
289289+290290+# List of strings which can identify a callback function by name. A callback
291291+# name must start or end with one of those strings.
292292+callbacks=cb_,
293293+ _cb
294294+295295+# A regular expression matching the name of dummy variables (i.e. expected to
296296+# not be used).
297297+dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
298298+299299+# Argument names that match this expression will be ignored. Default to name
300300+# with leading underscore.
301301+ignored-argument-names=_.*|^ignored_|^unused_
302302+303303+# Tells whether we should check for unused import in __init__ files.
304304+init-import=no
305305+306306+# List of qualified module names which can have objects that can redefine
307307+# builtins.
308308+redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
309309+310310+311311+[FORMAT]
312312+313313+# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
314314+expected-line-ending-format=
315315+316316+# Regexp for a line that is allowed to be longer than the limit.
317317+ignore-long-lines=^\s*(# )?<?https?://\S+>?$
318318+319319+# Number of spaces of indent required inside a hanging or continued line.
320320+indent-after-paren=4
321321+322322+# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
323323+# tab).
324324+indent-string=' '
325325+326326+# Maximum number of characters on a single line.
327327+max-line-length=100
328328+329329+# Maximum number of lines in a module.
330330+max-module-lines=1000
331331+332332+# List of optional constructs for which whitespace checking is disabled. `dict-
333333+# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
334334+# `trailing-comma` allows a space between comma and closing bracket: (a, ).
335335+# `empty-line` allows space-only lines.
336336+no-space-check=trailing-comma,
337337+ dict-separator
338338+339339+# Allow the body of a class to be on the same line as the declaration if body
340340+# contains single statement.
341341+single-line-class-stmt=no
342342+343343+# Allow the body of an if to be on the same line as the test if there is no
344344+# else.
345345+single-line-if-stmt=no
346346+347347+348348+[SIMILARITIES]
349349+350350+# Ignore comments when computing similarities.
351351+ignore-comments=yes
352352+353353+# Ignore docstrings when computing similarities.
354354+ignore-docstrings=yes
355355+356356+# Ignore imports when computing similarities.
357357+ignore-imports=no
358358+359359+# Minimum lines number of a similarity.
360360+min-similarity-lines=4
361361+362362+363363+[BASIC]
364364+365365+# Naming style matching correct argument names.
366366+argument-naming-style=snake_case
367367+368368+# Regular expression matching correct argument names. Overrides argument-
369369+# naming-style.
370370+#argument-rgx=
371371+372372+# Naming style matching correct attribute names.
373373+attr-naming-style=snake_case
374374+375375+# Regular expression matching correct attribute names. Overrides attr-naming-
376376+# style.
377377+#attr-rgx=
378378+379379+# Bad variable names which should always be refused, separated by a comma.
380380+bad-names=foo,
381381+ bar,
382382+ baz,
383383+ toto,
384384+ tutu,
385385+ tata
386386+387387+# Naming style matching correct class attribute names.
388388+class-attribute-naming-style=any
389389+390390+# Regular expression matching correct class attribute names. Overrides class-
391391+# attribute-naming-style.
392392+#class-attribute-rgx=
393393+394394+# Naming style matching correct class names.
395395+class-naming-style=PascalCase
396396+397397+# Regular expression matching correct class names. Overrides class-naming-
398398+# style.
399399+#class-rgx=
400400+401401+# Naming style matching correct constant names.
402402+const-naming-style=UPPER_CASE
403403+404404+# Regular expression matching correct constant names. Overrides const-naming-
405405+# style.
406406+#const-rgx=
407407+408408+# Minimum line length for functions/classes that require docstrings, shorter
409409+# ones are exempt.
410410+docstring-min-length=-1
411411+412412+# Naming style matching correct function names.
413413+function-naming-style=snake_case
414414+415415+# Regular expression matching correct function names. Overrides function-
416416+# naming-style.
417417+#function-rgx=
418418+419419+# Good variable names which should always be accepted, separated by a comma.
420420+good-names=i,
421421+ j,
422422+ k,
423423+ ex,
424424+ Run,
425425+ _
426426+427427+# Include a hint for the correct naming format with invalid-name.
428428+include-naming-hint=no
429429+430430+# Naming style matching correct inline iteration names.
431431+inlinevar-naming-style=any
432432+433433+# Regular expression matching correct inline iteration names. Overrides
434434+# inlinevar-naming-style.
435435+#inlinevar-rgx=
436436+437437+# Naming style matching correct method names.
438438+method-naming-style=snake_case
439439+440440+# Regular expression matching correct method names. Overrides method-naming-
441441+# style.
442442+#method-rgx=
443443+444444+# Naming style matching correct module names.
445445+module-naming-style=snake_case
446446+447447+# Regular expression matching correct module names. Overrides module-naming-
448448+# style.
449449+#module-rgx=
450450+451451+# Colon-delimited sets of names that determine each other's naming style when
452452+# the name regexes allow several styles.
453453+name-group=
454454+455455+# Regular expression which should only match function or class names that do
456456+# not require a docstring.
457457+no-docstring-rgx=^_
458458+459459+# List of decorators that produce properties, such as abc.abstractproperty. Add
460460+# to this list to register other decorators that produce valid properties.
461461+# These decorators are taken in consideration only for invalid-name.
462462+property-classes=abc.abstractproperty
463463+464464+# Naming style matching correct variable names.
465465+variable-naming-style=snake_case
466466+467467+# Regular expression matching correct variable names. Overrides variable-
468468+# naming-style.
469469+#variable-rgx=
470470+471471+472472+[STRING]
473473+474474+# This flag controls whether the implicit-str-concat-in-sequence should
475475+# generate a warning on implicit string concatenation in sequences defined over
476476+# several lines.
477477+check-str-concat-over-line-jumps=no
478478+479479+480480+[IMPORTS]
481481+482482+# List of modules that can be imported at any level, not just the top level
483483+# one.
484484+allow-any-import-level=
485485+486486+# Allow wildcard imports from modules that define __all__.
487487+allow-wildcard-with-all=no
488488+489489+# Analyse import fallback blocks. This can be used to support both Python 2 and
490490+# 3 compatible code, which means that the block might have code that exists
491491+# only in one or another interpreter, leading to false positives when analysed.
492492+analyse-fallback-blocks=no
493493+494494+# Deprecated modules which should not be used, separated by a comma.
495495+deprecated-modules=optparse,tkinter.tix
496496+497497+# Create a graph of external dependencies in the given file (report RP0402 must
498498+# not be disabled).
499499+ext-import-graph=
500500+501501+# Create a graph of every (i.e. internal and external) dependencies in the
502502+# given file (report RP0402 must not be disabled).
503503+import-graph=
504504+505505+# Create a graph of internal dependencies in the given file (report RP0402 must
506506+# not be disabled).
507507+int-import-graph=
508508+509509+# Force import order to recognize a module as part of the standard
510510+# compatibility libraries.
511511+known-standard-library=
512512+513513+# Force import order to recognize a module as part of a third party library.
514514+known-third-party=enchant
515515+516516+# Couples of modules and preferred modules, separated by a comma.
517517+preferred-modules=
518518+519519+520520+[CLASSES]
521521+522522+# List of method names used to declare (i.e. assign) instance attributes.
523523+defining-attr-methods=__init__,
524524+ __new__,
525525+ setUp,
526526+ __post_init__
527527+528528+# List of member names, which should be excluded from the protected access
529529+# warning.
530530+exclude-protected=_asdict,
531531+ _fields,
532532+ _replace,
533533+ _source,
534534+ _make
535535+536536+# List of valid names for the first argument in a class method.
537537+valid-classmethod-first-arg=cls
538538+539539+# List of valid names for the first argument in a metaclass class method.
540540+valid-metaclass-classmethod-first-arg=cls
541541+542542+543543+[DESIGN]
544544+545545+# Maximum number of arguments for function / method.
546546+max-args=5
547547+548548+# Maximum number of attributes for a class (see R0902).
549549+max-attributes=7
550550+551551+# Maximum number of boolean expressions in an if statement (see R0916).
552552+max-bool-expr=5
553553+554554+# Maximum number of branch for function / method body.
555555+max-branches=12
556556+557557+# Maximum number of locals for function / method body.
558558+max-locals=15
559559+560560+# Maximum number of parents for a class (see R0901).
561561+max-parents=7
562562+563563+# Maximum number of public methods for a class (see R0904).
564564+max-public-methods=20
565565+566566+# Maximum number of return / yield for function / method body.
567567+max-returns=6
568568+569569+# Maximum number of statements in function / method body.
570570+max-statements=50
571571+572572+# Minimum number of public methods for a class (see R0903).
573573+min-public-methods=2
574574+575575+576576+[EXCEPTIONS]
577577+578578+# Exceptions that will emit a warning when being caught. Defaults to
579579+# "BaseException, Exception".
580580+overgeneral-exceptions=BaseException,
581581+ Exception
.vim/ftdetect/prolog.vim
.vim/syntax/prolog.vim
+54
README.md
···11# dotfiles
22+23Personal preferences for .bashrc, .vimrc, etc. (macOS + CentOS for now, possibly more OSes eventually)
3445This repo is designed for use with [yadm](https://yadm.io/). See [their documentation](https://yadm.io/docs/getting_started) for how to clone this repo and bootstrap.
66+77+## TODO items
88+99+### Untracked files / apps
1010+1111+* [ ] .clang-format ?
1212+* [ ] iTerm2 configuration, however that will work
1313+* [ ] SSH, see [encrypted files](#Encrypted-files)
1414+* [ ] Other apps in `~/Library/Application Support` (BTT, keepassxc, etc.)
1515+* [ ] Consider checking in keepassXC db? Drive or similar auto-sync is nicer
1616+1717+### Casks / App Store apps
1818+1919+* [ ] Google Drive
2020+* [ ] Amphetamine + Amphetamine enhancer
2121+* [ ] Balance Lock
2222+* [ ] BetterTouchTool (uses license)
2323+* [ ] Bowtie (is this even needed anymore?)
2424+* [ ] Discord
2525+* [ ] DTerm (probably requires custom tap)
2626+* [ ] Fork (probably requires custom tap. Also should buy + use license)
2727+* [ ] Spotify
2828+* [ ] TermHere
2929+* [ ] XCode + command line tools
3030+3131+### Hooks
3232+3333+#### Pre-commit
3434+3535+* [ ] Update vscode extension list
3636+* [ ] Linting/autoformatting for relevant files?
3737+* [ ] Shellcheck?
3838+3939+#### Post-pull
4040+4141+* [ ] Run bootstrap script? Must be idemptotent
4242+* [ ] Submodule update, although gitconfig should take care of this
4343+4444+### Alt files
4545+4646+* [ ] Gitconfig
4747+* [ ] Possibly SSH config
4848+4949+### Encrypted files
5050+5151+* [ ] Investigate security (GPG, worth using `git-crypt`, etc.)
5252+* [ ] Purge/encrypt sensitive files:
5353+ * `fish` functions with passwords/IP addresses hardcoded?
5454+ * Any scripts that depend on i95 structure potentially
5555+ * Double-check gitconfig
5656+ * Double-check termux files
5757+* [ ] SSH keys
5858+* [ ] SSH config