* cargo update
* Remove the check for 'winget_enable' set to 'true'. On my Windows 10 and 11 machines, there are no issues with Winget anymore. As far as I remember, it was disabled by default because it was buggy back then.
* remove print_warning
* Revert "cargo update"
This reverts commit 5f4e532bc1.
* Removed the `enable_winget = true` configuration as winget is now enabled by default.
* Removed the #[cfg(windows)] flag.
* Revised as Recommended
* Wrapping at 80
* feat: Add support for Wolfi
This adds support for updating Wolfi via Topgrade
* chore(wolfi): Add os release info and unit test
* chore(wolfi): Don't check ID_LIKE as it is unique
* cargo update
* Implementing a check for Windows 11 and, if detected, skipping Windows Update via usoclient.exe. It is suggested to install PSWindowsUpdate.
* Revert "cargo update"
This reverts commit 43a4d321cf.
* Revert "Implementing a check for Windows 11 and, if detected, skipping Windows Update via usoclient.exe. It is suggested to install PSWindowsUpdate."
This reverts commit e1ef2e4bc5.
* Removed the usoclient step and added an error message.
* cargo fmt
* 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.