Skip to content

Latest commit

 

History

History
50 lines (45 loc) · 2.29 KB

TODO.md

File metadata and controls

50 lines (45 loc) · 2.29 KB

TODOs

Initial

  • Rust Boilerplate
  • CI Pipeline to lint and run test

Base Features

  • 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)

CI Pipeline to build releases

  • Linux (x86_64)
  • Linux (arm)
  • Macos (x86_64)
  • Macos (arm)

Extras Features

  • 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

Maybe Features

  • 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