Commit Graph

186 Commits

Author SHA1 Message Date
Thomas Schönauer
77db29f299 Cleanup 2022-10-10 22:41:39 +02:00
DottoDev
2d94eb974f feat: flag and config to skip notifications by jlucktay (#5)
* feat: flag and config to skip notifications

At the end of a run, topgrade normally sends a system notification.
This change adds a command-line flag and a config-file option to
disable this behaviour.

* fix: clippy issues

Also derive Eq where PartialEq is being derived.
https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

Authored-by: James Lucktaylor <jlucktay+github@gmail.com>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
2022-10-10 20:21:20 +00:00
DottoDev
8472467d00 brew autoremove (#6)
Authored-by: Kilian Tyler <kilian@ktyler.me>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
2022-10-10 20:17:50 +00:00
DottoDev
3f7614b885 feat: add support for bun (#7)
Authored-by: Matthieu Vion <contact@mvion.fr>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
2022-10-10 20:16:13 +00:00
DottoDev
ffe8613b2e add pacdef support (#4)
Authored-by: arctic-penguin <arctic-penguin@users.noreply.github.com>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
2022-10-10 20:09:24 +00:00
DottoDev
6bfdc4974b Add yarn support. Fix #958 (#15)
Authored-by: 0xMRTT <0xMRTT@tuta.io>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
2022-10-10 20:08:11 +00:00
DottoDev
057fc3b533 Add step for updating Julia packages (#2)
* Add step for updating julia packages

* Appease clippy

Authored-by: Jules Bertholet <julesbertholet@quoi.xyz>
Approved-by: Thomas Schönauer <t.schoenauer@hgs-wt.at>
2022-10-10 18:29:56 +00:00
DottoDev
5dffa2c6cc Add new step: GNU Guix by JamesClarke7283 (#1)
* 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>
2022-10-10 18:03:34 +00:00
Amrit Rathie
d864199c67 Add Pamac support (#953) 2022-06-18 14:22:23 +03:00
Roey Darwish Dror
4e6f48caef Sparkle for updates (#950) 2022-06-17 11:10:21 +03:00
Roey Darwish Dror
85f96647a4 Don't make pnpm a seperate step (#944)
Fixes #938
2022-05-26 17:32:26 +00:00
Roey Darwish Dror
5a78d09300 Restore old argument behavior (#939)
Fixes #933
2022-05-23 19:20:46 +00:00
Roey Darwish Dror
c166d51fb8 Add --custom-command (#927)
* Add --custom-command
Fixes #922

* fix
2022-05-07 12:25:51 +00:00
Roey Darwish Dror
fdf03f6548 Support deb-get (#925) 2022-05-07 06:14:20 +00:00
Roey Darwish Dror
8e7fd6772d Add the --env flag (#926)
#915
2022-05-07 05:11:53 +00:00
Akeshihiro
d7e5446c7c Fix docs of arch_package_manager fn (#909) 2022-05-01 07:01:09 +03:00
Marcin Puc
020a0619b8 Upgrade arg parsing to clap v3, take two (#900)
* Upgrade arg parsing to clap v3

* Bump Rust version in CI to 1.57.0

* Make clippy happy

Co-authored-by: Roey Darwish Dror <roey.ghost@gmail.com>
2022-04-23 13:35:06 +03:00
Roey Darwish Dror
8c7f8b0fbd Remove the silnite option 2022-04-22 23:31:46 +03:00
GPery
1a18174693 Add pikaur support (#898) 2022-04-22 23:28:01 +03:00
Roey Darwish Dror
13104a029c Add option to control the time display (fix #860) 2022-03-29 03:48:02 +03:00
Roey Darwish Dror
b1e04eb5cb clippy 2022-03-23 22:34:41 +02:00
Armel Soro
ca4ffac6fb Add support for upgrading GitHub CLI Extensions 2022-03-23 22:31:58 +02:00
Funky185540
72ee6598a6 Upgrade podman/docker containers (#850)
* 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.
2022-03-05 22:00:07 +02:00
Roey Darwish Dror
cea32020ce Disable winget by default 2022-03-05 21:58:36 +02:00
Leonardo Eugênio
0251c2769b Support for updating kakoune plugins with kak-plug (#852) 2022-02-06 23:48:06 +02:00
Roey Darwish Dror
5e7453b387 Make ConfigUpdate an individual step (fix #843) 2022-01-26 22:52:52 +02:00
Funky185540
da8cf9da05 Enable updating Toolbx through topgrade (#830)
* steps: toolbox: Add module to upgrade toolboxes

This adds a module to upgrade all toolboxes found on a host system.
[Toolbox][1] (More recently: `toolbx`) is a tool that easily provides
mutable, containerized command line environments. It is a means to work
and develop in a mutable environment on immutable operating systems such
as Fedora Silverblue, CoreOS, Kinoite and much more. However, it is not
limited to these use cases.

The integration into topgrade works as follows: Toolbx makes many of the
hosts folders available form inside the toolbx container by default. In
particular, all of the hosts filesystem is mapped under `/run/host`. This
module exploits this fact by:

- Gathering a list of toolboxes available on the host that runs
  `topgrade`
- Executing `toolbox run` for each of these toolboxes to run a command
  inside the toolboxes, **using the executing `topgrade` executable with
  the `--only system` arguments**

[1]: https://containertoolbx.org/

* toolbx: Integrate toolbx into the application

* Toolbx is Linux specific

Co-authored-by: Roey Darwish Dror <roey.ghost@gmail.com>
2022-01-24 12:10:21 +02:00
Quinton Cloutier
51b35b374c Re-add the Go step via go-global-update (#823)
* Re-add the Go step via go-global-update

go-global-update (https://github.com/Gelio/go-global-update) is a small
tool to update all executables installed in a user's GOBIN, effectively
providing a `go get -u all` replacement for Go 1.16+.

Since it appears that Go will not be receiving a built-in way to do this
in the near future, this could be a good option in the meantime.

* Skip silently if go-global-update is not present
2022-01-16 22:24:57 +02:00
Roey Darwish Dror
54741ff899 Conda (fix #829) (#832) 2022-01-15 06:50:42 +02:00
Roey Darwish Dror
7d42ba4e52 Remove pacdiff 2021-12-18 20:39:57 +02:00
Roey Darwish Dror
1f3d8d39a0 Fix breakage 2021-12-12 13:52:07 +02:00
Roey Darwish Dror
ab3ff0ecae Selective yes (fix #802) (#808)
* Selective yes flag (fix #802)

* Selective yes flag (fix #802)

* selective yes

* MacOS
2021-12-06 14:44:20 +02:00
Roey Darwish Dror
942702d1d2 Merge the command line and the configuration flags of --only and --disable (fix #805) (#806)
* Merge the command line and the configuration flags of --only and --disable (fix #805)

* Fix
2021-12-06 14:12:20 +02:00
Roey Darwish Dror
e9d809ddb0 Avoid running remote topgrade on the current host (fix #804) (#807) 2021-12-06 13:31:05 +02:00
M*C*O
329df4f406 Add Support for Spicetify (#798) 2021-11-15 08:09:02 +02:00
Manuel Hässig
f70305adcb Add new step pacdiff (#796) 2021-11-06 20:55:38 +02:00
Roey Darwish Dror
23c9908a6a Add an option to force vim plug update (#795)
* Add an option to force vim plug update (fix #751)

* Rustfmt

* Update src/config.rs

Co-authored-by: M*C*O <mcofficer@gmx.de>

Co-authored-by: M*C*O <mcofficer@gmx.de>
2021-11-06 06:06:10 +02:00
Roey Darwish Dror
0467bd4dde Add a flag to disable showing Arch Linux news (fix #786) 2021-10-29 09:53:30 +03:00
Roey Darwish Dror
539b267eef Support rust 1.51.0 (#789) 2021-10-28 22:05:35 +03:00
M*C*O
271b250b51 config: ArchPackageManager should be snake_case (#784)
* config: ArchPackageManager should be snake_case

* Remove unnecessary strum macro

* Add arch_package_manager to config.example.toml
2021-10-28 19:46:59 +03:00
Roey Darwish Dror
fb18af12ac Aur helper (#776)
* Arch Refactor

* Clippy
2021-10-25 22:03:57 +03:00
Andrea Tupini
6eb4cdd224 Add step to update haxelib packages (#774) 2021-10-25 21:54:27 +03:00
Roey Darwish Dror
9023942a85 Pacstall (fix #764) (#769) 2021-10-25 21:33:58 +03:00
Roey Darwish Dror
b6c468c6fb Upgrade gnome shell extensions (fix #755) (#768) 2021-10-25 21:31:13 +03:00
Marcin Puc
1478d079ca Add minor refactorings (#754) 2021-09-04 21:01:19 +03:00
Roey Darwish Dror
a39b4f846c Remove redundant dereferences 2021-09-02 07:27:09 +03:00
Roey Darwish Dror
611f69646e Support pkgin (fix #748) 2021-09-02 06:14:56 +03:00
Roey Darwish Dror
989aa053e2 Add a flag to disable pnpm (fix #743) 2021-07-19 09:43:28 +03:00
Philipp Weißmann
2c348090b7 Adds support for chezmoi (#744) 2021-07-19 08:29:34 +03:00
Eberhard Beilharz
2cd1ea6845 Allow to run flatpak update with sudo (#738)
This change adds the option `flatpak.use_sudo` that allows to update
the system-wide installation with sudo. When set to `true` the
system-wide installation will be updated with sudo. If set to `false`
(default) the update will be run as regular user.

This solves the problem where running `flatpak update` on a remote
system fails if run as regular user.

Fixes #737.
2021-06-30 13:37:41 +03:00