aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2016-07-18Reverse leading dot logicJon Bernard-18/+18
2016-07-18Improve help string for status commandJon Bernard-1/+6
2016-04-16Add docstring for Config classJon Bernard-0/+12
2016-04-15Inline help strings in cli decoratorsJon Bernard-4/+4
2016-04-15Clean up configuration file code a bitJon Bernard-4/+21
Still some work to be done here, in progress.
2016-02-18Add support for configuration filesJon Bernard-27/+60
At the moment, only a global configuration file is considered at '~/.config/dotfiles/config.ini'. Further more, only the 'repositories' field is being used at the moment, but this will change in the next commit. If you to specify a repository (or several) in the config file, you could use something like: [dotfiles] repositories = ['~/public/dotfiles', '~/private/dotfiles'] Still some polishing to be done, but it's coming along.
2016-02-16Create repositories class to hide context objectJon Bernard-26/+46
2016-02-03Remove unused import to make flake8 happyJon Bernard-1/+0
2016-02-03Simplify CLI status testJon Bernard-9/+1
2016-02-03Remove CLI repo validationJon Bernard-3/+2
This prevents auto-creation from happening, which I like.
2016-02-03Update todo listJon Bernard-2/+1
2016-02-02Add support for multiple repositoriesJon Bernard-52/+56
I haven't tested this much yet and I haven't written the tests yet either, so please tread lightly. The idea is allow you to compose your home directory symlinks from a set of repositories instead of just one. This allows you to separate things into logical groups and maybe sync only certain groups on certain machines. It's a different take on the 'host profiles' feature where you specify certain files to be included or ignored based on hostname.
2016-01-24Update todo listJon Bernard-0/+2
2016-01-24Add todo listJon Bernard-0/+9
2016-01-23Update changelog for upcoming 0.9 releaseJon Bernard-0/+9
2016-01-22Simplify test fixtures into a single repositoryJon Bernard-136/+130
2016-01-22Small refactoring and cleanupsJon Bernard-17/+16
2016-01-21Allow globs in ignore patternsJon Bernard-65/+76
2016-01-21Import only py's path moduleJon Bernard-1/+1
2016-01-20Expose --dot/--no-dot in cliJon Bernard-6/+9
2016-01-20Finish basic repository unit testsJon Bernard-31/+62
2016-01-20Add docstrings for repository classJon Bernard-1/+16
2016-01-20Improve docstrings in cliJon Bernard-3/+10
2016-01-20Add docstrings for dotfile classJon Bernard-0/+13
2016-01-20Remove unused exception classesJon Bernard-22/+4
2016-01-20Small cleanup in conftestJon Bernard-2/+2
2016-01-20Bump version to 0.9.dev0 in preparation for 1.0Jon Bernard-1/+12
2016-01-19Finish tests for dotfile classJon Bernard-65/+121
2016-01-19Update function organization in dotfile.pyJon Bernard-6/+6
2016-01-19Update copyright date in license fileJon Bernard-1/+1
2016-01-18Make flake8 happy againJon Bernard-0/+7
2016-01-18Remove class wrapper from repository testsJon Bernard-46/+44
2016-01-18Fix typoJon Bernard-1/+1
2016-01-18Fix unit tests to match recent changesJon Bernard-9/+12
2016-01-17Add support for dotfiles in subdirectoriesJon Bernard-40/+52
2016-01-17For nested dotfiles, ensure directory structureJon Bernard-48/+31
2016-01-17Add dotfile-already-exists exceptionJon Bernard-0/+6
2016-01-17Remove duplication in CLIJon Bernard-20/+42
2016-01-17Split tests into separate filesJon Bernard-77/+80
2016-01-17Various cleanupsJon Bernard-40/+37
2016-01-17Remove some cli duplicationJon Bernard-42/+27
2016-01-17Sort contents on our ownJon Bernard-1/+3
py.path.local.visit() sorting doesn't seem to work, at least not in a way that makes sense to me.
2016-01-17Break functionality into separate filesJon Bernard-368/+414
2016-01-17Ignore task filesJon Bernard-0/+3
2016-01-17Simplify tox configurationJon Bernard-5/+2
2016-01-15Move implementation and tests back to directoriesJon Bernard-7/+7
I think keeping the physical separation is helpful, especially as more features get added.
2016-01-15Add initial support for nestingJon Bernard-8/+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 operationJon Bernard-4/+19
2016-01-15Improve custom exceptionsJon Bernard-24/+52
2016-01-14Update unlink verbose messageJon Bernard-1/+1