- Rust Boilerplate
- CI Pipeline to lint and run test
- Parse inputs using Clap
- Add inputs to a internal settings structure
- Parse config files
- Add config settings to the internal settings structure
- Option to override host name from config (-B --hostname)
- Add defaults to the internal settings structure if nothing is defined
- Read .dotfile folder(s) and files structure and store it
- Consider multiple dotfiles folders configuration and reorganize file list (-a --add-dir)
- Consider ignore files and filters then from the list (-x --exclude)
- Consider .dot files and filters then from the list
- Consider inclusion list for extra files and reorganize file list (-i --include)
- Consider tags and tag folders and reorganize file list (-t --tag)
- Consider hosts and host folders and reorganize file list
- Make the top level files hidden in the destination file list
- Get action list and link/copy the files
- Dialog to ask to override existing files if already exists in your home directory but does not match the file in your dotfiles directory
- Option to always override (-f --force)
- Add version command (-V --version)
- Add dry-run command (-D --dry-run)
- Add verbosity command (-v --verbose)
- Integration tests
- Documentation
- Add drop/delete command, this deletes dotfiles managed by paro (-d --down)
- Instalation Script (Like rustup install)
- Linux (x86_64)
- Linux (arm)
- Macos (x86_64)
- Macos (arm)
- Configuration to override the destination file path will be symlinked or copied (-n --destination)
- Sync command (delete files that are set to be ignored) (-S --sync)
- Split config files in two where you have configs and ignore files in different files
- Execute Hooks (Pre/Post)
- Skip hooks (-K --skip-hooks)
- Option to always copy files instead symlinking them. (-C --copy)
- Consider inclusion list to always copy files instead symlinking them. (-c --include-copy)
- Consider argument list to don't hide the file in the destination. (-N --no-hide)
- Option to install git hooks to run paro sync on post-commit and post-merge hooks