analysis

book idea

existing work

After a bit of research, most of it looks done

  1. https://dotfiles.github.io/ offers list of dotfiles solutions and quick comparison

  2. https://github.com/webpro/awesome-dotfiles offers guides for vcsh and how to set up

vcsh improvements

improvements analysis

  1. vcsh improvements (syncing, auto-detecting files, tight integration (like etckeeper), easier set up + manipulation)

  2. extend to etckeeper

  3. sane integrations with zsh/bash/fish

Conclusion:

  1. This will either turn into a bash script nightmare or require a python/ruby dependency dissuading many users.

  2. Little reason to implement since already satisfied with current solution

  3. Improvements are too minor to justify paying and big risk of "do what I mean syndrome" with feature like auto-detection, tight integration etc.

  4. majority of work would be into making it dummy proof for beginners with minimal knowledge of git etc. .. kinda like dropbox / rsync+ssh or s3

dotfiles community

The sharing part is solved via github. dotshare.it offers a centralized location but users have to manually upload their config. It’s more about presenting your config to the world.

Key problems:

  • discovery — finding examples and options usage

  • understanding the configuration — reliance on comments on config if any or looking up documentation (no integration)

Current solutions:

  1. clunky github search by filename and option and browsing each file

  2. documentation is scattered and no linkage between the 2

vision

  • github dotfiles are scanned

  • project documentation is loaded / converted like an API and linkable instead of raw text

  • view a dotfile, options/commands are clickable with ref to documentation instead of relying on live comments

  • ability to view alternatives e.g bind-sym would display alternative usage/examples for that command

  • creates a one stop shot for everything git related

Roadmap

building db
  1. as a user, I want to search .screenrc configurations. I use github search and search by filename but have to browse a bunch of empty or redundant files

    1. dotfiles would index github dotfiles, analyze them (by commands/options usage, length etc.) and display the most interesting ones

    2. when reading the file, it would be linked to the program manual

improving documentation
  1. as a user, I want to look up a definition from a file e.g screenrc bind-sym and find other examples + read what it means

    1. dotfiles makes bind-sym clickable and refs to documentation

    2. dotfiles lists examples of other configs using bind-sym

    3. dotfiles imports program documentation and makes reversable — i.e click from the documentation and find examples/usage

    4. dotfiles provides a visualization for specific commands e.g set prompt or themes

The idea of linking documentation to code is a good one but not new and often poorly executed due to its complexity. Example: linking API documentation to code examples on github. Kinda like the old google code search.
beyond dotfiles

dotfiles. as a user, I customize other programs such as IDE (code templates, settings etc.), chrome extensions (mouseless mappings/settings), gnome (.config/dconf) and dump those customizations into a file for backups. Can these be improved/analyzed/discovered?