* Create `Sudo` type and `SudoKind` enum
* Fix build
* reformat
* Fix choco on windows
* Fix linux
* Fix linux more
* more fix stuff hehe hoho hahaha
* more fix stuff hehe hoho hahaha
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
Fix `tmux` sessions
This will create a new session named `topgrade`, `topgrade-1`,
`topgrade-2`, using the first nonexistent session name it finds. That
session will have a window in it named `topgrade` in which `topgrade` is
run. If `topgrade --tmux` is being run from within tmux, it won't attach
to the new tmux session. If the user is not currently in tmux, it will
attach to the newly-created session.
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
* Quote arguments when executing in a shell
Fixes#107
* Parse quotes in `tmux_arguments`
This makes it possible to encode spaces in arguments. Maybe the config
value should be an array instead?
* Print error causes
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
OPAM has a built-in `clean` command that automatically
removes download caches, logs, and cleans the current
OPAM switch. We should call `opam clean` when the
cleanup flag is set.
Authored-by: Victor Song <vms2@rice.edu>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
* Added new step: guix (basic support)
* Fixed clippy errors and better practice, Thanks To guidence from @enchant97 <Leo Spratt>
* Removed accidental swp file, as pointed out by @strangelittlemonkey in pull request #982
Authored-by: James Clarke <james@james-clarke.ynh.fr>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
* Don't call gnome shell extensions if it's not registered in dbus (fix#835)
* fix
* Execute-elevated (#892)
* Introduce the execute elevated method (fix#885)
* fmt
* Fix nix with doas
* Bad import
* No gnome in macOS
* Unused imports
* containers: Pull newer versions of containers
Allows topgrade to update a users containers. It will automatically skip
containers which come from the `localhost` repo as these are self-built.
Respects the version number the containers were initially checked out
with in order not to introduce semver-breaking changes.
Works with podman and docker.
* topgrade: Add 'containers' step
* containers: Ignore some errors for docker
This patch is needed to achieve compatibility between docker and podman.
In particular, docker doesn't store/tell the user from which repository
(i.e. `hub.docker.com`, or `registry.fedoraproject.org`) a container
originates. This has the side-effect, that self-built containers cannot
be distinguished from publicly available containers. Therefore this
patch introduces an exception to the error handling when pulling, by
scanning the output of the `docker pull` command. If it finds the
`registry does not exist` substring in the output, it will skip the
container but **NOT** consider the whole update step failed.
* containers: Skip '<none>' containers
that result from either intermediate products of a container build or
when images are dangling.
* steps: containers: simplify error handling
And don't return errors from within the "unknown container registry"
handling, since that would immediately terminate the whole update which
isn't intended.
- add the required functionality for zgenom
- fix the env::var for zinit - it should be ZINIT_HOME, not ZBXF, as
this is also set in zgenom, but makes topgrade fail when zinit is not
installed
Co-authored-by: Sven Hergenhahn <sven.hergenhahn@dm.de>