You are browsing as a guest. Sign up (or log in) to start making projects!

Slowfetch

  • 5 Devlogs
  • 10 Total hours

A simple Fastfetch/Neofetch clone written in Rust for Linux distros that displays a cool ASCII logo and looks up systems info, hardware specifications, and other useful metrics!

Ship #1 Pending review

I made Slowfetch, a simple, lightweight, and fast (slow) Fastfetch/Neofetch alternative for Linux operating systems that fetches and displays a list of organized useful system and hardware information and runtime metrics, as well as an ASCII logo of the distro. This is my first Rust project, and I didn't have any ideas for what to build since I barely knew anything, but through this project, I gained a ton of experience working with Rust basics, interacting with the Linux file system, using Cargo and Rust libraries, and deploying the program as a working executable release on GitHub. I'm really proud of how everything turned out, especially the ASCII logos and the colors, that the program looks very polished and functional. Building this project also taught me a lot about how the kernel and command line programs actually function under the hood.

  • 5 devlogs
  • 10h
Try project → See source code →
Open comments for this post

43m 24s logged

Polishing & final touches!

  • Slowfetch is now finally finished; the logos are colored and print out properly and all the statistics are organized and displayed accurately!
  • Thanks to @crushedflea’s contribution, the ASCII logo constants are now merged with the main file and a few other display bugs are fixed
  • Adding a “–censor” or the shorthand “-c” flag now censors the public IP
  • Added a GitHub release so you can actually download and use Slowfetch as an executable program!
  • Updated the README so it’s more informative and contains instructions for setting up the development environment for Slowfetch or downloading the GitHub release
0

Loading discussion…

0
5
Open comments for this post

2h 19m 5s logged

More stats & new logos!

  • Added a disk storage usage list item that has a similar format as the memory display (used, total, and percentage) and correctly converts to the most appropriate unit. This was a lot harder to set up than fetching the memory since I had to use an external library and do some extra stuff
  • Added private and public IPs, current locale, and current battery percentage
  • Added new correctly colored and sized ASCII style logos for Ubuntu and Fedora. I just started VMs for these, copied Fastfetch’s output logos, colored them and slightly modified them to better fit Slowfetch
  • Added the color blocks from Fastfetch that render 10 different colors at the bottom of the list so you can see the colors your monitor displays
  • Slowfetch now automatically detects the current distro and renders the correct ASCII logo, and if it isn’t Debian, Arch, Fedora, or Ubuntu the default Linux logo is the fallback (since Slowfetch only supports Linux)
  • Cleaned up the colors and reorganized the list items into sections for better organization and readability
0

Loading discussion…

0
4
Open comments for this post

1h 48m 44s logged

ASCII logos!!!

  • Added the iconic ASCII distro logos from fastfetch/neofetch so you can better flex your operating system and nerdiness!
  • Currently only Arch, Debian, and Linux ASCII logos are added with the symbols mostly correctly color coded
  • I had to edit the logos quite a bit instead of just copying them from fastfetch’s output since they need to fit in my number of lines and keep the correct formatting
  • Slowfetch can’t detect the distro and render the correct logo yet, so right now you can only pass it as a flag (with either arch, debian, or linux) to see the output, otherwise it doesn’t show a logo
  • Added some placeholder list items (ip, locale, display), will be implemented soon
  • I decided to only make Slowfetch support the major 4 distros I mentioned above since it’s too much of a pain (is it even possible?) to access Windows and macOS’ info
0

Loading discussion…

0
4
Open comments for this post

1h 52m 43s logged

Hardware stats and shell

  • Slowfetch now displays the current memory usage out of the device’s total RAM and shows the usage percentage. It also converts the unit automatically; GB is the default and only uses MB/KB if current usage is less than 500 MB/KB
  • It also reads the CPU’s info, model, and specifications from the /proc directory and displays the information alongside memory
  • Current shell and the number of packages installed on the OS are also displayed using some string manipulation
  • Getting the GPU info is a bit trickier since it has to run the lspci command, capture its output, and filter through it to get the exact name of the chip
  • Added a README to better document the script’s features
  • Improved some formatting and display issues
0

Loading discussion…

0
5
Open comments for this post

3h 18m 30s logged

First devlog on Slowfetch!

  • I’m starting a new project, Slowfetch, which is basically a simple CLI fastfetch/neofetch copy that reads system files and runtime metrics and outputs them in an organized and visually appealing list
  • This is my first Rust project too, so I spent a good chunk of this time learning and getting familiar with its basic concepts, Cargo, the documentation, and how it actually works
  • I’m currently only running it in a Debian VM for testing (it will be available for other distros and Windows/macOS in the future), so I also spent some time setting up VS Code’s remote ssh and installing packages in the VM
  • Right now it only reads username, hostname, and OS info from the /etc directory and runtime metrics from /proc and outputs a simple list that’s somewhat color coded
  • Rust is actually not as hard as I thought it would be once I got kinda used to it, so I’m pretty excited to implement a ton of other features for this project!
0

Loading discussion…

0
6

Followers

Loading…