<commit_before>My Dotfiles
===========

This repo is for my personal dotfiles.

It is structured such that each profile is a top level directory, allowing for
host/os/context specific configuration.

So far, no tool for managing the symlinks or installation has been chosen, in
favor of just getting the configuration into source control.  Possible options
include Homemaker_, dotfiler_, `GNU Stow`_, or battleschool_.

** new option: Homeshick_

Current analysis
````````````````

Homemaker
  Requries a config file, kind of annoying, but much
  more powerful, as you can have commands.  Can check in an executable, so it
  actually is portable without requiring install

GNU Stow
  Requires install, but open source and widely available.  Very simple by
  comparison, may not support environments well due to how it merges
  directories.

battleschool
  External install via pip required.  Also very powerful.  And apparently
  abandoned.

dotfiler
  Can check out as part of the repo, downside is that it really wants to be the
  root directory.  So no git submodule, though forking it and adding my own
  content is possible.  It does support environments nicely.

Homeshick
  More portable version of homesick, all shell based.  Support for
  environments, need to learn the paradigm.  It also expects to be checked out
  separately, but in a way that is probably safe for submodules.

Verdict so far - either Homeshick or Homemaker.  Dotfiler seems great, but the
checkout issue is super annoying.  I don't like the external dependency of stow
or battleschool.  I'm not super thrilled about checking in an executable for
homemaker, so that leaves Homeshick, or maybe fixing Dotfiler.

Other idea: I can simply have an install script.  Anything with a git only
dependency could be managed that way, which puts dotfiler back into the mix
with Homeshick.

.. _dotfiler: https://github.com/svetlyak40wt/dotfiler
.. _Homemaker: https://github.com/FooSoft/homemaker
.. _GNU Stow: https://gnu.org/software/stow/
.. _battleschool: https://github.com/spencergibb/battleschool
.. _Homeshick: https://github.com/andsens/homeshick

The general layout should be something like this::

  build.yaml                   # Overall automation scripts for deployment
  profile/
          application/         # each application gets is own directory
                      apprc    # root level config
                      app.d/   # modular configuration files, source in the root

TODO List
---------

* Build out vim config
  * use a plugin manager - VimPlug for starters
* Build out gitconfig
* Build out tmux config
* Build out neovim config
* Extract out mac specific stuff, move to a separate profile
* Update zsh config to use a plugin manager instead of homebrew<commit_msg>Removed plugin manager from todos<commit_after>My Dotfiles
===========

This repo is for my personal dotfiles.

It is structured such that each profile is a top level directory, allowing for
host/os/context specific configuration.

So far, no tool for managing the symlinks or installation has been chosen, in
favor of just getting the configuration into source control.  Possible options
include Homemaker_, dotfiler_, `GNU Stow`_, or battleschool_.

** new option: Homeshick_

Current analysis
````````````````

Homemaker
  Requries a config file, kind of annoying, but much
  more powerful, as you can have commands.  Can check in an executable, so it
  actually is portable without requiring install

GNU Stow
  Requires install, but open source and widely available.  Very simple by
  comparison, may not support environments well due to how it merges
  directories.

battleschool
  External install via pip required.  Also very powerful.  And apparently
  abandoned.

dotfiler
  Can check out as part of the repo, downside is that it really wants to be the
  root directory.  So no git submodule, though forking it and adding my own
  content is possible.  It does support environments nicely.

Homeshick
  More portable version of homesick, all shell based.  Support for
  environments, need to learn the paradigm.  It also expects to be checked out
  separately, but in a way that is probably safe for submodules.

Verdict so far - either Homeshick or Homemaker.  Dotfiler seems great, but the
checkout issue is super annoying.  I don't like the external dependency of stow
or battleschool.  I'm not super thrilled about checking in an executable for
homemaker, so that leaves Homeshick, or maybe fixing Dotfiler.

Other idea: I can simply have an install script.  Anything with a git only
dependency could be managed that way, which puts dotfiler back into the mix
with Homeshick.

.. _dotfiler: https://github.com/svetlyak40wt/dotfiler
.. _Homemaker: https://github.com/FooSoft/homemaker
.. _GNU Stow: https://gnu.org/software/stow/
.. _battleschool: https://github.com/spencergibb/battleschool
.. _Homeshick: https://github.com/andsens/homeshick

The general layout should be something like this::

  build.yaml                   # Overall automation scripts for deployment
  profile/
          application/         # each application gets is own directory
                      apprc    # root level config
                      app.d/   # modular configuration files, source in the root

TODO List
---------

* Build out vim config
  * use a plugin manager - VimPlug for starters
* Build out gitconfig
* Build out tmux config
* Build out neovim config
* Extract out mac specific stuff, move to a separate profile
{'fraction_non_alphanumeric': 0.05806334182744813, 'fraction_numerical': 0.0007280669821623589, 'mean_word_length': 3.493049877350777, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2785795', 'n_tokens_mistral': 1493, 'n_tokens_neox': 1432, 'n_words': 730}