* Added an Audit step for FreeBSD and DragonFly.
Allows for auditing the packages to be disabled since they are breaking steps.
Current behaivor is the default, where if the audit fails topgrade stops. Can
be disabled in the [misc] section independenly from other sections
* fix(os) consider Fedora Kinoite to be the Fedora Silverblue distribution
* fix(os) support additional Fedora immutable variants
Rename FedoraSilverblue Distribution to FedoraImmutable. Add test cases for Onyx, Sericea and Silverblue. Rename upgrade method to match distribution.
Fixes#637
This commit introduces conditional logic to the `run_pipx_update` function that checks the installed version of pipx. If the version is 1.4.0 or higher, the `--quiet` argument is added to the `pipx upgrade-all` command to suppress non-critical output during the upgrade process, adhering to the new feature introduced in pipx 1.4.0 as per the documentation (https://pipx.pypa.io/stable/docs/#pipx-upgrade-all). This change aims to make the upgrade process less verbose and more manageable in automated scripts or CI/CD pipelines where log brevity is beneficial.
Make `nix upgrade-nix` a separate step
Also check that Nix can be upgraded before running `nix upgrade-nix` to
work around a bug.
See: <https://github.com/NixOS/nix/issues/5473>
* Remove unhelpful information from errors
Before:
```
Git repositories failed:
0: error: cannot pull with rebase: You have unstaged changes.
error: Please commit or stash them.
0:
Location:
src/steps/git.rs:39
Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
```
After:
```
Git repositories failed:
0: Failed to pull /Users/wiggles/.dotfiles
1: error: cannot pull with rebase: You have unstaged changes.
error: Please commit or stash them.
Location:
src/steps/git.rs:39
```
* Improve git_repos errors
This removes the extra blank "0:" line at the end of the error, doesn't
print the error message twice, and provides the repo path in the error
message.
`nix upgrade-nix` can be used on any platform except NixOS where `nix`
is available.
Also use `nix profile upgrade --verbose` because the non-verbose mode
doesn't print anything on stdout.
Allow setting `log_filters` in `config.toml`
This allows setting a list of `log_filters` in the `[misc]` section in
the `config.toml`. These filters are prepended to any filters listed
with `--log-filters`. Finally, `--verbose` can now be used with
`--log-filters`, and it will append `debug` to the list of filters
rather than replacing it entirely.