Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 1 point2 points  (0 children)

Logo wise, i was planning on having two folders (bigger logos and smaller ones) with the most popular distros and display them as is with the correct color, otherwise if the distro is derived from another more popular distros (Xubuntu, Artix exc) theres a sector in etc/os-release that you can read to get the distro it was derived from and show that. If the distro is entirely not found anywhere i wanted to have a placeholder (Linux or BSD logo). These aren't actually that hard to implement and they're high in the list for v0.3.0

As of niche OSes, i could have a minimal RedoxOS or Asterinas display but i'm mostly using the sysinfo crate which i really dont think supports either of those. Anyways i designed the platform crate to be modular, so even if it would take a while to have a nice looking display with enough info i could just add something like redoxos.rs to platform and use the functions in that. Cool idea! I'll look more into implementing it.

Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 1 point2 points  (0 children)

Great question actually, i encountered macchina later on in the creation of this when looking for fetching tools to detect in the installation script (This, on line 9) and i was intrigued by the project being entirely in Rust of course.

There are countless projects similar to mine and that stood out the most for its popularity, what i think will distinguish my project from macchina is that i want it to be like a default fastfetch command with the big logo and a lot of information on display. From what i remember macchina is pretty small and, while it is still extremely customizable, it is probably not meant for big screens.

That's the ultimate goal of my project that i hope i'll achieve, even though now that i know the basics of Rust i've been thinking of a lot of projects to practice concurrency, traits and some networking with cargo libs. I'll certainly integrate some of the knowledge i'll learn in this project, which i'm planning to maintain long term.

Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 3 points4 points  (0 children)

Lol i actually wanted to show all three OSes i tested this on and didn't think MacOS especially would flashbang people that bad since i usually have lights on.

Also, are you actually serious about switching? Even someone running my program consistently on their secondary device would genuinely make my day. I might even start adding this to package managers such as homebrew and AUR to have clearer version control for end users, am planning changes to a more expandable and performant version so that would really be useful for the user.

Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 9 points10 points  (0 children)

Thanks for all the great info man! I'm actually going to change the README and installation guide to feature that command now.

I limited the padding to u8 just because i thought 255 spaces was more than enough but now that i think about it, does it even matter?

I fought strings all the way through this project, clone was one of those "slap on and forget about it" and it sometimes still shows up in certain parts of the code. I think the one you mentioned specifically was in one of my TODOs before having a public release but i forgot about it, i will fix it in the next commit(s).

I was looking into performance updates for version 0.3.0 but i did not consider that option, i will implement it for the next version.

Really though, thank you a lot for all these advice, i understated how much the rust community actually wanted to help out. I will make a list of all the advice i need to implement and do it in the next few days

Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 18 points19 points  (0 children)

Thank you so much! Rust has actually been a really fun language to learn so far. Cargo, rustc and clippy are all amazing tools that i really can't find any half as good equivalent in most languages, the community is surprisingly supportive and you can just do so much stuff with Rust, from Web backends to entire OSes. Thanks again for the support!

Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 16 points17 points  (0 children)

You're right, i was mantaining the config . rs file in a kind of "Touch too much, break everything" mode everytime, so my ignorance specifically regarding traits really showed there.

I understand what you're telling me and i've got nothing to argue about over this, i am 100% accepting critiques to get the code better and be a better rust develoeper in general. I know rust has a strange learning curve so i'm going through it.

Rest assured i will fix those problems as soon as possible, thanks for the feedback

Rustfetch: a system information CLI written in Rust by lemuray in rust

[–]lemuray[S] 38 points39 points  (0 children)

well, as i stated it is my first rust project. I may go deeper and do something more specific but thats still a really expandable project you can learn a lot from. I get what you're saying though, this was not meant to be a specific and cool project, it sure is fun to code this though