Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LucasTavaresA/sgrade
Simple alternative to topgrade
https://github.com/LucasTavaresA/sgrade
automation shellscript topgrade
Last synced: about 1 month ago
JSON representation
Simple alternative to topgrade
- Host: GitHub
- URL: https://github.com/LucasTavaresA/sgrade
- Owner: LucasTavaresA
- License: gpl-3.0
- Created: 2022-10-17T23:21:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-19T23:28:38.000Z (over 1 year ago)
- Last Synced: 2024-08-03T15:05:47.670Z (4 months ago)
- Topics: automation, shellscript, topgrade
- Language: Shell
- Homepage:
- Size: 76.2 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - LucasTavaresA/sgrade - Simple alternative to topgrade (automation)
- jimsghstars - LucasTavaresA/sgrade - Simple alternative to topgrade (Shell)
README
# sgrade
Simple alternative to [topgrade](https://github.com/topgrade-rs/topgrade)
or Suckless, Shellscript... maybe S tier
![screenshot](https://user-images.githubusercontent.com/80704612/209752444-2ec0ef56-8ddc-4d5f-80b9-d540727014e1.png)
## Install
Put sgrade in your `PATH`, or execute:
```shellscript
git clone https://github.com/lucastavaresa/sgrade
./sgrade/sgrade
```## Update Steps
sgrade have all steps enabled by default, but even when enabled
it does not update resources you don't haveYou can change what updates and the order by setting `SG_RESOURCES`
to the resource names separated by space, like: `packages etc cargo`| Resource | Description |
|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `sgrade` | Updates sgrade automatically, See [Update itself](https://github.com/LucasTavaresA/sgrade#update-itself) |
| `packages` | Updates packages and your system using your distro package manager, See the [source code](https://github.com/LucasTavaresA/sgrade/blob/main/sgrade#L153). |
| `etc` | Merge new etc files, See [Etc](https://github.com/LucasTavaresA/sgrade#etc). |
| `nodejs` | Run `yarn global update`, or `npm update -g` if `npm root -g` is a path inside your $HOME. |
| `pip` | Update pip and pipx if they are inside $HOME, then upgrade all packages installed using [pipx](https://github.com/pypa/pipx). |
| `go` | Update all go packages with [gup](https://github.com/nao1215/gup). |
| `dotnet` | Update all global dotnet packages. |
| `fish` | Update all fish plugins. |
| `rustup` | Run `rustup update` and `rustup self-update`. |
| `cargo` | Update all cargo packages using [cargo-update](https://github.com/nabijaczleweli/cargo-update). |
| `flatpak` | Update all flatpaks. |
| `snap` | Update all snaps. |
| `brew` | Update all brew packages. |
| `nix` | Update all nix packages. |
| `pearl` | Run `pearl update`. |
| `gem` | Run `gem upgrade` or `gem upgrade --user-install` if `~/.gem` exists. |
| `gh` | Update all gh extensions. |
| `distrobox` | Update all distrobox containers. |
| `custom` | Run `~/.config/sgrade/custom`. |## Update itself
Depends on curl or wget
When a new version is downloaded it shows the difference in the new version
and asks to substitute the sgrade in your path## Etc
Works only specific distros
- On **void linux** install `xtools`
- On **arch based distros** install `pacman-contrib`