qarmin / Rusty-Linux

Simple script to install most basic Rust apps as alternative to default one
55 stars 3 forks source link

Rusty Linux

Simple script to install basic Rust apps as alternative to default one

Why?

Most linux tools are written in C(and C++) for performance and history reasons.

This language is still very popular, but I know from experience that it is very easy to make a mistake in it, which results in memory integrity violation, often resulting in program shutdown, or even worse, in data corruption or leaks.

One of the potential solutions to these problems is to use Rust language providing comparable performance, offering elimination of many types of typical bugs already at the compilation stage.

Although rewriting software from C(or similar) may initially require a lot of work, when adding new features, the programmer will be able to save time on detecting memory corruption (address sanitizer, valgrind) or memory leaks (leak sanitizer, valgrind).

Creating memory safe and big application(>100K code) in C language is almost impossible because every bigger change brings a huge amount of bugs (Rust from all of them will of course magically not protect).

Of course, Rust is not a silver bullet, so it is also worth considering popular and mature apps in another languages.

Install apps

To install apps you need just download this script, remove unwanted apps and run it

wget https://raw.githubusercontent.com/qarmin/Rusty-Linux/main/RustyLinux.sh
xdg-open RustyLinux.sh
chmod +x RustyLinux.sh
./RustyLinux.sh

Upgrade

To upgrade apps, just run again script.
This will install only newer version of packages.

List of apps with replacements

Cli app Rust app Description
ls eza List content(files/dirs) in dir
cd zoxide Changes the current directory.
sed sd Text stream editor.
vim amp Text editor.
coreutils coreutils uutils Basic Unix utilities.
cat bat Concatenates and displays file content.
grep ripgrep Searches text using patterns.
du dust Estimates disk usage.
dig dog DNS query tool.
find fd Searches for files and directories.
rm rip Removes files or directories.
locate lolcate Quickly finds files.
curl websocat Data transfer tool.
hexdump hx Displays files in hexadecimal format
ps procs Lists process information.
top bottom Displays system processes and resources.
cut/awk choose Text processing tools
sort/uniq -c uniqtoo Sorts and counts lines.
make just Build automation tool.
htop zenith Interactive system monitor.
jq jql Command-line JSON processor.
gnome-terminal alacritty Text-based system interface.
cloc tokei Counts lines of code
bc eva Command-line calculator.
tree broot Displays directory structure.
Gomu termamusic Music player
? hyperfine benchmark tool
Gui app Rust app Description
Eye of gnome emulsion Image Viewer
gnome-system-monitor process viewer Provides system performance info
gnome-text-editor gxi Text editor
Etcher/Rufus/Ventoy popsicle Creates bootable USB drives
FSlint czkawka, fclones-gui Removes unnecessary files/duplicates.
Bulky, Nautilus Renamer szyszka Bulk File/Folder renamer
Strawberry amberol Music player
Godot Fyrox Game engine
Gnome, KDE Plasma Cosmic DE Desktop environment
VLC, mpv ? Video player
Gimp/inkscape ? Graphic editor
Cheese ? Camera
Qbittorrent/Transmission ? Torrent downloader

Contribute

If you know about some good Rust application for Linux, which is alternative to existing one, please create pull-request or new issue about it.

This applications should be active and newest commit should be younger than 1 year.