Closed balupton closed 1 year ago
I'm thinking installation should come down to:
Which shells would you like to configure for Dorothy?
How would you like to configure your shells? (Backups will be made, so don't stress.)
Either technique will copy the original dotfiles to a xdg state directory for dorothy/shell-configuration-backup/time
Then they can run dorothy restore
and dorothy uninstall
to restore the original configuration on their machine.
Another improvement to do in this batch, is if installing dorothy and there is no user directory, then just rm rf dorothy directory and clone fresh in case there is an issue with the clone.
I'm thinking the installer should just ask what shells to configure and always do the extend method. The clean/replace method is too risky to expose to inexperienced users, and should just be enabled somehow for all-in dorothy users, either via a install flag such as install?clean=true or dorothy install --clean, or have dorothy support a configuration file (though to justify that, there should be more things to configure).
the other option is to maintain a database of default shell configuration files, so we can just wipe ones that are untouched.
The current dorothy install process prompts people to delete their prior shell configs, then prompts them to add dorothy to their shell configs - from observing people install dorothy, this causes people to be presented with something that seems scary but isn't (if they are just using default shell configs) to something that is scary (if they have custom shell configs), this then causes them to go no, then when it prompts them to configure the shell configs for the shells, they also select no (through the earlier priming) and wonder why dorothy doesn't work.
To ease the ability for people to adopt dorothy, we should move the old shell configs to a
user/deprecated/
directory, then source them inuser/config/interactive
, and add some comments to the files to explain that they should move the configuration over to the new conventions or just delete it.Dorothy should also do a
dorothy undo
ordorothy unlink
command that will unlink dorothy from the global configs, and restore the deprecated files.