aboutsummaryrefslogtreecommitdiffstats
path: root/dotfiles.py
AgeCommit message (Collapse)AuthorFilesLines
2016-01-15Add initial support for nestingGravatar Jon Bernard 1-7/+14
This feature means to replace what was called 'packages'. The old packages implementation was only one subdirectory lower than the home directory and quite limiting in that regard. Even worse, they had to be configured manually in the configuration file and could not be created from the command line. This approach offers any depth the user specifies because the rule is: you can only add files to the repository, not directories. So if a user adds a directory, the effect will be that each file contained in any portion of that directory will be moved into the repository and a symlink created. This completely removes both manual configuration and link ambiguity because there is always only once choice. The repository is used to maintain the directory structure, but only the leaf nodes (files) are symlinked in the home directory. This also makes it easy to store other non-dotfile files in the repository like wallpapers, fonts, music, or whatever.
2016-01-15Show confirmation on stdout for each successful operationGravatar Jon Bernard 1-4/+19
2016-01-15Improve custom exceptionsGravatar Jon Bernard 1-22/+50
2016-01-14Update unlink verbose messageGravatar Jon Bernard 1-1/+1
2016-01-14Call internal methods after entry verificationGravatar Jon Bernard 1-4/+2
2016-01-13Add stub for recursive dotfile discoveryGravatar Jon Bernard 1-0/+8
2016-01-13Separate dotfile error checking from actionGravatar Jon Bernard 1-14/+30
2016-01-11Add custom exceptions for dotfile validationGravatar Jon Bernard 1-7/+40
2016-01-10Introduce custom exceptions for better error handlingGravatar Jon Bernard 1-10/+27
2016-01-08Cleanup formatting and docstringsGravatar Jon Bernard 1-10/+5
2016-01-08Remove home directory cli optionGravatar Jon Bernard 1-6/+4
2016-01-08Add ignore item to skip repository git filesGravatar Jon Bernard 1-5/+15
2016-01-06Try to create relative symlinks when linkingGravatar Jon Bernard 1-1/+1
2016-01-06Fix tests to match recent changesGravatar Jon Bernard 1-2/+1
2016-01-06Add link scheme for flat repositoryGravatar Jon Bernard 1-28/+90
This commit also includes support for all of the CLI commands. This is for a "flat" repository where dotfiles must be proper files, no directories or files in subdirectories. Support for that is coming and should cover what used to be called "packages" in a more automatic way without requiring configuration file settings. At the moment, this is the bare minimum of useful functionality: flat repository, no 'ignores', no 'externals', no 'packages', and no 'prefixes'. In this way I can make sure I get the object model and abstractions correct before building on it further. This I feel is what the old version suffered from and caused difficulties in maintenance. The above-mentioned features will return in some form as I move through each of them, not to worry. I'd like to see how far I can get without any configuration file before any of that stuff gets added back in.
2016-01-05Rename sync/unsync to link/unlinkGravatar Jon Bernard 1-7/+7
I think this naming is more appropriate and intuitive
2016-01-04Merge list into status and remove verboseGravatar Jon Bernard 1-76/+28
2016-01-04Cleanup verbose status functionGravatar Jon Bernard 1-7/+15
2016-01-04Add verbose status optionGravatar Jon Bernard 1-19/+47
2016-01-04Clean up dotfile state functionGravatar Jon Bernard 1-8/+4
2016-01-04Remove unique_suffix function, not neededGravatar Jon Bernard 1-7/+1
2016-01-04Update docstringsGravatar Jon Bernard 1-30/+10
2016-01-04Enable use of '-h' for help commandGravatar Jon Bernard 1-1/+1
2016-01-04Use click decorator for version optionGravatar Jon Bernard 1-8/+1
2016-01-03Add cli testsGravatar Jon Bernard 1-2/+2
2016-01-03Use test fixtures and some cleanupGravatar Jon Bernard 1-4/+6
2016-01-03Consolidate new implementation into a single fileGravatar Jon Bernard 1-0/+226