Starting to look a little less minimal now :)
First, the CLI now detects the DFU package config based on the current working directory (or its parents) similar to git.
Then, the `dfu diff` command now produces a `changes.patch` file describing which files were changed by the snapshots.
This is produced in several stages. You start with `dfu diff`, and then `dfu diff --continue` as you complete the prompt instructions.
There's other goodies in here, such as:
* the global config isn't needed and can be autopopulated
* Permissions are in a much better place. Instead of things being owned by root when they're not supposed to and vice-versa, `dfu` now runs as a non-root user always, and then calls sudo as necessary to adjust the permissions
What's Changed
* Implement dfu dist to generate a PKGBUILD file by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/18
* Dont run as root by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/19
* Search through all the paths listed in XDG_CONFIG_DIRS by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/20
* Fix merge logic to propagate the non-null base config by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/21
* Use user_data_path instead of user_config_path for package data by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/22
* Create the config.toml by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/23
* fix exit code for get_all_subvolumes by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/24
* Fix create config bugs by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/25
* Create config directories as necessary by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/26
* permissions issues: Don't resolve the folder before creating it, and … by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/27
* Ensure that the config files are created with 644 permissions by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/28
* Run proot with sudo, because the snapshots aren't accessible to non-root by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/29
* Initialize git when creating a new project by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/30
* git doesn't like symlinks for gitignore. Use a copy instead by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/31
* Try calling get_configs without sudo by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/32
* Create placeholder files when performing a diff by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/33
* Remove package_dir from the config, in favor of searching parent directories by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/34
* Add a default gitignore template by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/35
* Speedup placeholder generation by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/36
* Create a .dfu-diff file to store the diff progress by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/37
* Create a base branch with the previous state when producing a diff by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/38
* Create the target branch by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/39
* After creating the target branch, switch back to the default branch by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/40
* Update the base and target branch once successful by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/41
* Generate the patch file by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/42
* Add diff instructions by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/43
* Add unidiff as a dependency by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/45
* Update the PKGBUILD to include the new files by intentionally-left-nil in https://github.com/intentionally-left-nil/dfu/pull/44
**Full Changelog**: https://github.com/intentionally-left-nil/dfu/compare/v0.0.2...v0.0.3