Commit Graph

477 Commits

Author SHA1 Message Date
Thomas Schönauer
13076fcef6 10.2.0 release (#213) 2022-11-23 15:18:09 +00:00
Rebecca Turner
55ba2d30c1 Quote arguments when executing in a shell (#118)
* 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>
2022-11-03 16:46:43 +00:00
pan93412
623a11cf21 refactor!(steps/node): make PNPM a separated step (#114) 2022-11-03 15:57:16 +01:00
Benjamin Stürz
f26e48acca OpenBSD support (#104) 2022-11-02 10:00:10 +00:00
Rebecca Turner
dc07144918 Add fundle step (#90) 2022-10-31 06:05:43 +00:00
Rebecca Turner
d8bac65317 Add rcm step (#91) 2022-10-31 06:05:12 +00:00
Rebecca Turner
18cec5c9fa Add ghcup step (#89) 2022-10-30 16:34:14 +00:00
LeSnake04
639c7fd422 feat: added distrobox (#76) 2022-10-26 22:12:38 +00:00
Thomas Schönauer
347372ca71 Resolves clippy errors, please review!!! (#60) 2022-10-23 11:34:30 +00:00
Thomas Schönauer
366a742d40 Added Protonup support 2022-10-14 16:46:21 +02:00
DottoDev
a9d5d24a35 Clean up OPAM if requested (#12)
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>
2022-10-10 20:24:41 +00: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
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
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
dcf58911bd Mac OS fails to upgrade Homebrew in custom location (#930)
Fixes #673
2022-05-13 17:59:13 +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
morero
08e8b56b75 Add: Add new zsh plugin "zi" (#921) 2022-05-06 15:37:28 +00:00
Roey Darwish Dror
71ce5c8d30 Use rustls (fix #906) (#908) 2022-04-30 13:17:27 +00:00
Roey Darwish Dror
336f529410 "Ultimate vimrc" support (#904)
* "Ultimate vimrc" support
Fixes #856

* Fix

* fix
2022-04-23 12:39:58 +00:00
Roey Darwish Dror
14809322b4 Vagrant boxes (#905) 2022-04-23 12:09:54 +00: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
Aditya Alok
ff7a4f3df9 Fix building for Android, enable tlmgr updates (#896)
* fix(os/unix): cannot find `SkipStep` while building for android

ERROR: cannot find function, tuple struct or tuple variant `SkipStep`

Disable updating gnome extensions for Android.

Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>

* feat: enable `tlmgr` updates for android

Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
2022-04-22 23:20:17 +03:00
Roey Darwish Dror
d0e1212700 Don't run gnome shell extensions if unneeded (fix #835) (#893)
* 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
2022-04-11 20:15:18 +03:00
John Karahalis
e7485de501 Fix capitalization of GitHub 2022-04-04 09:35:38 +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
8dd2eb7532 Remove silnite (fix #873) 2022-03-29 03:18:03 +03: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
Sven Hergenhahn
afa3171d99 Add zgenom zsh plugin manager (#862)
- 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>
2022-03-05 22:00:07 +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
Roey Darwish Dror
5f4dd33f1f Don't run pacdiff when --yes is specified (fix #846) 2022-01-26 22:51:00 +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
3f12cf11f6 Unify pacdiff and etc-update 2021-12-18 20:20:00 +02:00
Roey Darwish Dror
1db6dc5470 Pass --force to doom when -y is set (fix #799) 2021-11-18 20:45:34 +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
539b267eef Support rust 1.51.0 (#789) 2021-10-28 22:05:35 +03:00
Roey Darwish Dror
58491c4f8a Support sudo with pnpm (fix #759) (#772)
* Support sudo with pnpm

* Clippy

* format

* Clippy

* Clippy
2021-10-25 22:27:35 +03:00
Andrea Tupini
6eb4cdd224 Add step to update haxelib packages (#774) 2021-10-25 21:54:27 +03:00