App configuration. Some config fields apply to core functionality, while
some are interface-specific. While it's maybe not the "best" design, we
compile them all into one crate to give consistent behavior between the
CLI and TUI. Specifically, it allows the slumber show config command to
show exactly what the TUI is actually using.
The downside of this is we have to pull in some types that are specific to the TUI, because they relate to configuration. By putting this in a separate crate, instead of the core crate, it at least pushes those dependencies down the compile chain a bit further.
This crate is not semver compliant. The version is locked to the root
slumber crate version. If you choose to depend directly on this crate, you
do so at your own risk of breakage.