Skip to content

LucasTavaresA/sgrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 

Repository files navigation

sgrade

Simple alternative to topgrade

or Suckless, Shellscript... maybe S tier

screenshot

Install

Put sgrade in your PATH, or execute:

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 have

You 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
packages Updates packages and your system using your distro package manager, See the source code.
etc Merge new etc files, See 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.
go Update all go packages with 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.
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