* ci: improve
- run on all branches to test things
- no cargo color, it destroys actions-rs/cargo features
- update versions
* refactor(lint): fix clippy issues
* refactor(lint): fix more clippy issues
The commit switches to using yay-bin instead of yay, avoiding the need to install Go.
In addition, it fixes a bug where aur packages
aren't build when specified only in the command line
Should fix mkinitcpio issues due to missing "linux" preset now it's no
longer included in "base".
Note this issue only affected newer Arch Linux installs (since the
change).
Allow a directory to be passed as a preset, in which case all files
inside the directory (recursively) are treated as presets, loaded in
lexicographical order.
This allows one to compose a system by mixing in different presets, and
easily change their order of execution.
Status: WIP
Completed:
* Fixed flagged clippy lints
* Moved qemu(), main.rs::mount() and chroot() to the tools module.
* Moved constants in main.rs to constants.rs (including base packages
array)
* Renamed Presets struct to PresetsCollection to avoid confusion with
Preset struct
* Moved main() to the top of main.rs to highlight general logic path
* Added comments and docstrings to some functions
* Removed some uses of `use foo::*` to make the source of imported functions
and structs clearer
TODO:
* Move remaining code in main.rs to modules (except main())
* Break up create() function in to separate steps
* Log every command run (with arguments) to debug! when verbose flag is used
* Add docstrings for remaining functions and document constants (e.g.
why noatime is used)
* Remove remaining uses of `use foo::*`
* Consider renaming/moving tools module to address tool:: vs. Tool::
confusion