All Projects โ†’ Phate6660 โ†’ rsfetch

Phate6660 / rsfetch

Licence: other
A WIP rewrite of rsfetch from scratch.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rsfetch

Rsfetch
Fast (~1ms execution time) and somewhat(?) minimal fetch program written in Rust.
Stars: โœญ 103 (+212.12%)
Mutual labels:  fetch, commandline
Neofetch
๐Ÿ–ผ๏ธ A command-line system information tool written in bash 3.2+
Stars: โœญ 13,768 (+41621.21%)
Mutual labels:  commandline, neofetch
sysfex
Another system information fetching tool written in C++
Stars: โœญ 107 (+224.24%)
Mutual labels:  fetch, neofetch
fastfetch
Like neofetch, but much faster because written in c. Only Linux.
Stars: โœญ 191 (+478.79%)
Mutual labels:  fetch, neofetch
yafetch
Yet another fetch ...
Stars: โœญ 27 (-18.18%)
Mutual labels:  fetch, neofetch
awesome-fetch
Command-line fetch tools for system/other information
Stars: โœญ 177 (+436.36%)
Mutual labels:  fetch, neofetch
disfetch
Yet another *nix distro fetching program, but less complex.
Stars: โœญ 45 (+36.36%)
Mutual labels:  fetch, neofetch
debayer
Debayer raw images automatically, with the option of outputting scene-linear aces exrs.
Stars: โœญ 26 (-21.21%)
Mutual labels:  commandline
commandeer
Take command of your command line in Nim
Stars: โœญ 84 (+154.55%)
Mutual labels:  commandline
fbvideos
๐Ÿ”— Easily extract downloadable link of publicly available videos on facebook.
Stars: โœญ 28 (-15.15%)
Mutual labels:  fetch
CommandLineParser.Core
๐Ÿ’ป A simple, light-weight and strongly typed Command Line Parser made in .NET Standard!
Stars: โœญ 32 (-3.03%)
Mutual labels:  commandline
Code-VueWapDemo
โ€œVueๆ•™็จ‹--Wap็ซฏ้กน็›ฎๆญๅปบไปŽ0ๅˆฐ1โ€็š„ๆบ็ 
Stars: โœญ 19 (-42.42%)
Mutual labels:  fetch
wumpfetch
๐Ÿš€๐Ÿ”— A modern, lightweight, fast and easy to use Node.js HTTP client
Stars: โœญ 20 (-39.39%)
Mutual labels:  fetch
Data-Scientist-In-Python
This repository contains notes and projects of Data scientist track from dataquest course work.
Stars: โœญ 23 (-30.3%)
Mutual labels:  commandline
react-redux-api-tools
A set of tools to facilitate react-redux development and decouple logic from compontents
Stars: โœญ 37 (+12.12%)
Mutual labels:  fetch
tiles
Commandline tool that makes building tilesets and rendering static tilemaps super easy!
Stars: โœญ 51 (+54.55%)
Mutual labels:  commandline
py-spotme
A CLI tool that creates AWS spot instances on the fly
Stars: โœญ 16 (-51.52%)
Mutual labels:  commandline
packages
Cloud Posse DevOps distribution of linux packages for native apps, binaries, alpine packages, debian packages, and redhat packages.
Stars: โœญ 107 (+224.24%)
Mutual labels:  fetch
nice
Highly customizable and idiomatic Go CLI app framework ๐Ÿ‘Œ
Stars: โœญ 198 (+500%)
Mutual labels:  commandline
git-admin
A package to help manage git repositories through the commandline
Stars: โœญ 27 (-18.18%)
Mutual labels:  commandline

rsfetch

This is a WIP rewrite of rsfetch from scratch.
I've been really unhappy with the codebase now for various reasons.
It's made development for rsfetch downright unpleasant at times.


A blazing fast (<20 ms) information fetching utility.
According to hyperfine anyways.

Table of Contents:

Example Output

$ cargo run --features=music -- -cDdEeghkmMstuUp portage

CPU:          Intel Core i5-3470 CPU @ 3.20GHz
Device:       OptiPlex 7010
Distro:       Gentoo
Editor:       /usr/bin/emacsclient
Environment:  bspwm
GPU:          AMD/ATI Cedar Radeon HD 5000/6000/7350/8350 Series
Hostname:     gentoo
Kernel:       5.4.48-ck-valley
Memory:       15971 MB
Packages:     87 (explicit), 570 (total)
Shell:        /bin/bash
Terminal:     xterm
Uptime:       2d 9h 54m
User:         valley
Music:        System Of A Down - System Of A Down (1998) - Know

$ cargo run --features=music,pretty_output -- -cDdEeghkmMstuUp portage -C 0

0โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€0
โ”‚ CPU         โ”‚ Intel Core i5-3470 CPU @ 3.20GHz                       โ”‚
โ”‚ Distro      โ”‚ Gentoo                                                 โ”‚
โ”‚ Device      โ”‚ OptiPlex 7010                                          โ”‚
โ”‚ Editor      โ”‚ /usr/bin/emacsclient                                   โ”‚
โ”‚ Environment โ”‚ bspwm                                                  โ”‚
โ”‚ GPU         โ”‚ AMD/ATI Cedar Radeon HD 5000/6000/7350/8350 Series     โ”‚
โ”‚ Hostname    โ”‚ gentoo                                                 โ”‚
โ”‚ Kernel      โ”‚ 5.4.48-ck-valley                                       โ”‚
โ”‚ Memory      โ”‚ 15971 MB                                               โ”‚
โ”‚ Packages    โ”‚ 87 (explicit), 570 (total)                             โ”‚
โ”‚ Shell       โ”‚ /bin/bash                                              โ”‚
โ”‚ Terminal    โ”‚ xterm                                                  โ”‚
โ”‚ Uptime      โ”‚ 2d 9h 54m                                              โ”‚
โ”‚ User        โ”‚ valley                                                 โ”‚
โ”‚ Music       โ”‚ System Of A Down - System Of A Down (1998) - Suite-Pee โ”‚
0โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€0

Extra info

Crate deps and binary size depending on features for rsfetch:

  • No Features: 16 crates, 2.5 MB (not stripped), 868 KB (stripped)
  • music: 20 crates, 2.6 MB (not stripped), 940 KB (stripped)
  • pretty_output: 36 crates, 2.6 MB (not stripped), 1.0 MB (stripped)
  • music,pretty_output: 40 crates, 2.7 MB (not stripped), 1.1 MB (stripped)

Crates explicitely used, and why:

  • clap: CLI framework
  • mpd: completely optional, used for the feature music
  • nixinfo: contains all of the information gathering functions
  • prettytable-rs: completely optional, used for the feature pretty_output

Tokei stats (cropped to save space): tokei -t=rust .

===============================================================================
 Language            Files        Lines         Code     Comments       Blanks
===============================================================================
 Rust                    2          224          219            0            5
===============================================================================

Features

Currently there are 2 features. They are completely optional.

  • music, this will cause nixinfo to pull in the mpd crate, and display the music info as:

artist - album (date) - title

  • pretty_output, this will cause rsfetch to pull in the prettytable-rs crate, see example above for how it looks.

Help

$ cargo run -- --help

rsfetch 0.1.0
Phate6660 <https://pages.codeberg.org/Phate6660>

An info fetch tool written in Rust. Everything is off by default, enable what you want.

USAGE:
    rsfetch [FLAGS] [OPTIONS]

FLAGS:
    -c               Display the model of the CPU.
    -D               Display the name of the device.
    -d               Display the name of the distro.
    -E               Display the name of the user's editor. Must have the $EDITOR environmental variable set.
    -e               Display the user's environment. First checks for a DE, before resorting to parsing your
                     $HOME/.xinitrc for your WM.
        --help       Prints help information
    -h               Display the hostname of the device.
    -k               Display the name of the kernel.
    -m               Display free/total memory.
    -M               Display currently playing music. Only mpd is supported. Must be built with the music feature.
    -s               Display the name of the user's shell.
    -t               Display the name of the user's terminal.
    -u               Display the uptime.
    -U               Display the name of the user.
    -V, --version    Prints version information

OPTIONS:
    -C, --corner <char>         Set the corner character.
    -p, --packages <manager>    Display package count.
    -T, --temperature <C/F>     Display CPU temp for Raspberry Pi, must have CPU field enabled.

TODO

  • better pretty output by either handling it myself (scary!) or replacing prettytable-rs with a lighter crate
  • implement async
  • information gathering functions are split off into a separate lib (implemented -- nixinfo)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].