Basic system information fetcher, with a focus on performance.

Overview

Macchina preview image

Crates.io Crates.io reposize loc

Table of Contents:


About Macchina

Macchina lets you view basic system information, like your hostname, kernel version, uptime, memory usage, and much more. No one wants a slow fetcher, and Macchina's selling point is providing you with convenient features while keeping performance a priority and minimalism a goal.

Macchina preview image

Changelog

This new update brings a lot of cool concepts that make Macchina a little more user-friendly, and more forgiving if something goes wrong in the system fetching phase, I'll be improving these new features more and more as time goes on, and will now focus mostly on providing NetBSD the experience that it deserves, fix nasty bugs that might occur on different kinds of hardware and give the code a clean-up!

Here's a list of new changes:

  • Meet Fail, a cleaner implementation for taking care of value extraction errors, and his buddy --debug
  • --debug / -d helps you identify what elements have failed and how they're extracted from your system, if an error occured it'll print the status (ERROR:DISABLED or OK:DISABLED), the element and the extraction method.
  • Add a condition for when SReclaimable memory isn't present in /proc/meminfo
  • Uppercase first letter of shorthand shell output e.g. zsh will be Zsh
  • Spice up README files with a new Macchina banner!

Dependencies

  • wmctrl to print your window manager

Benchmarks

Macchina is pretty fast, see for yourself:

Command Mean [ms] Min [ms] Max [ms] Relative
macchina 22.2 ± 0.7 21.0 25.1 1.00
neofetch 243.9 ± 2.3 240.0 246.9 11.01 ± 0.37

Summary: macchina runs 11.01 ± 0.37 times faster than neofetch

  • Note that hiding elements using Macchina's --hide significantly improves speed

Features

Themes:

Theme preview

Macchina displays basic system information such as:

  • Host
    • Username
    • Hostname
  • Product
    • Manufacturer
    • Model name & version
  • Kernel
    • Name
    • Version
  • Distribution
  • Desktop Environment
  • Window Manager
  • Package count
  • Shell
  • Terminal
  • Processor
    • Model name
    • Frequency
    • Thread count
  • Uptime
  • Memory
    • Used / Total
  • Battery
    • Percentage
    • Status
  • Palette

Package count supports package managers of:

  • Arch-based distributions
  • Debian-based distributions
  • NetBSD

Macchina requires wmctrl to be installed to print your Window Managern, and only some window managers will be displayed as wmctrl "only works with window managers which implement the EWMH specification"

Macchina supports the following arguments:

--no-color / -n - Disable colors

--color / -c <color> - Specify the key color

--separator-color / -C <color> - Specify the separator color

--random-color / -r - Let Macchina pick a random color for you

--palette / -p - Display palette

--short-sh / -S - Shorten shell output (/bin/zsh -> zsh)

--short-uptime / -U - Shorten shell output (/bin/zsh -> zsh)

--hide / -H <element> - Hide elements such as host, os, kern, etc.

--show-only / -X <element> - Display only the provided elements

--bar / -b - Display memory usage and battery percentage as bars

Preview of bar argument

--theme / -t <theme> - Specify the theme

--padding / -P <amount> - Specify the amount of (left) padding to use

--spacing / -s <amount> - Specify the amount of spacing to use

--debug / -d - Print debug information, use when an element fails to display.

--help / -h - Print help text

--version / -v - Print version


Installation

Macchina is available on:

  • AUR

    Install using your favorite AUR helper or by running:

    git clone https://aur.archlinux.org/macchina.git
    cd macchina
    makepkg -si
    
  • crates.io

    Install using cargo:

    cargo install macchina
    

Platform Support

Platform Support
Linux Yes
NetBSD Partial
MacOS
Windows
Comments
  • Display ascii art with ansi colors.

    Display ascii art with ansi colors.

    ~This is a optional feature that will add option to use jp2a as the ascii backend~.
    ~This will add auto color support as well as a way to use jpg/png images for the ascii art.~
    This will add color support to ascii images made using jp2a or similar tools.

    This is an initial draft, will need more work.

    Screenshot

    jp2a

    opened by uttarayan21 79
  • `v6`: breaking changes in themes, bug fixes and new features.

    `v6`: breaking changes in themes, bug fixes and new features.

    v6 codename "Gallium" — CHANGELOG

    We hope this is the last time we have to break your themes and configs, but hopefully you won't be so annoyed thanks to the new changes and features that this new version brings. Go on, have a read:

    Breaking Changes

    • MACCHINA_CONF has been deprecated, please use --config from now on, you can alias macchina to macchina --config <PATH> to avoid typing it every time.

    • hide_bar_delimiters has been deprecated, but the feature isn't gone. You can hide your bar's delimiters using hide_delimiters, here's what'd look like:

    [bar]
    hide_delimiters = true
    
    • palette has been deprecated, and again, the feature is still here. But, you now have to specify the type of variant you'd like to display and what glyph to use:
    [palette]
    type = "Full"
    glyph = "●"
    visible = true
    

    Bugfixes

    • We've officially demoted DESKTOP_SESSION, preferring XDG_CURRENT_DESKTOP over it. DESKTOP_SESSION is essentially a fallback now. (closes #199)
    • --short-uptime has been renamed to --long-uptime. Somehow, I forgot to rename the long version of this command-line flag, and you can verify this by comparing the flag name with the flag description — they contradict each other.
    • The spacing bug, that results in an uneven space between the left side and right side of the separator, has been fixed.

    New features

    • Every single option in a theme is now optional, feel free to remove anything you don't need!
    • You can specify the kind of border you want macchina to use, under [box], you can add:
    # Accepted values: "plain", "rounded" and "thick".
    border = "plain"
    
    • You can now tell macchina what pool of color to use when randomization is enabled, under [randomize], you can add:
    # Accepted values: "base", "hexadecimal" and "indexed"
    pool = "base"
    
    • You can now use indexed colors, e.g. 38 and hexadecimal values, e.g. #FFFFFF for any option that accepts a color. (#193)
    • You can now specify the glyph of the palette.
    [palette]
    glyph = "●"
    
    • Added manpages — Woohoo!
      • There's one for the configuration file, and another for theming.
    • More datapaths to look at:
      • macchina now looks for themes in /usr/share/macchina/themes. (closes #210)
      • macOS: macchina now looks for themes in ~/.config/macchina/themes.
    • We've brought back the ability to toggle between showing your physical/logical core count.

    Miscellaneous

    • When using --list-themes, themes are now listed below the directory that contains them, resulting in much cleaner output.
    • Some under-the-hood changes you might not notice, which mostly address the complexity of certain operations (hopefully improving performance).
    • Psst... Gentoo users, macchina doesn't require portage-utils anymore.
    version/6.x 
    opened by grtcdr 51
  • [BUG] macchina-5.0.4 nearly broken on NetBSD

    [BUG] macchina-5.0.4 nearly broken on NetBSD

    Hi guys, Here we go again,

    /home/pin()
    2021-11-11 11:00 > macchina -v
    macchina    5.0.4
    libmacchina 3.8.1
    /home/pin()
    2021-11-11 11:00 > macchina
                                                                                            
     \\`-______,----__      Machine     -  Hewlett-Packard HP EliteBook 820 G1 A3009DD10303
      \\        __,---`.    OS          -  NetBSD 9.99.92                                   
       \\       `.____      Packages    -  185 (pkgsrc)                                     
        \\-______,----`.    Terminal    -  xterm                                            
         \\                 Uptime      -  2h 9m                                            
          \\                CPU         -  Intel® Core™ i5-4210U CPU @ 1.70GHz (4)          
           \\               Brightness  -  100%                                             
            \\              CPU Load    -  3%                                               
             \\             Memory      -  1.2 GB/7.5 GB                                    
              \\            Battery     -  Full                                             
               \\                                                                           
    
    /home/pin()
    2021-11-11 11:00 > macchina -d
    Let's check your system for errors... Here's a summary:
    
    We've collected 18 readouts, including 6 failed read(s) and 2 read(s) which resulted in a warning.
    Readout "Host" failed with message: Unable to read account information.
    Readout "DesktopEnvironment" failed with message: You appear to be only running a window manager.
    Readout "WindowManager" failed with message: No graphical session detected.
    Readout "LocalIP" failed with message: Please specify a network interface to query (e.g. `interface = "wlan0"` in macchina.toml).
    Readout "Shell" failed with message: Unable to read account information.
    Readout "Resolution" failed with message: Metric is not available on this system.
    
    2 of the 8 unsuccessful read(s) resulted in a warning:
    Readout "Kernel" threw a warning with message: This information is provided by the OperatingSystem readout on NetBSD.
    Readout "Distribution" threw a warning with message: This information is provided by the OperatingSystem readout on NetBSD.
    /home/pin()
    2021-11-11 11:00 > 
    
    

    Forget about "LocalIP", this is simply because I didn't specify the interface but, failed to fetch "Host", "WindowManager" and "Shell"?

    EDIT: @grtcdr I think is better not to merge this release and let users stay on 5.0.3 for now.

    opened by 0323pin 45
  • toml config ignored

    toml config ignored

    Describe the bug macchina.toml settings are being ignored

    To Reproduce

    export XDG_CONFIG_HOME="$HOME/.config"
    cd $XDG_CONFIG_HOME && mkdir macchina && cd macchina
    wget macchina.toml https://raw.githubusercontent.com/Macchina-CLI/macchina/main/macchina.toml
    

    I have restarted the terminal, re-sourced my shell configurations and so forth, but no changes occur. Must one specify explicitly that macchina must be reading the config via a flag or so?

    Expected behavior The configuration .toml changes the appearence of macchina.

    System Information

    Screenshot 2021-05-19 at 01 19 00
    opened by gennaro-tedesco 38
  • Add macOS Support & restructuring for future os support

    Add macOS Support & restructuring for future os support

    This PR is a big one, since it basically changes the whole structure of the project to allow easier integration with future OS support (e. g. windows). The readouts have been extracted into their own corresponding traits, which allow a cross-platform usage of the api. Each trait can then be implemented on each os.

    This PR also adds support for macOS (battery readout not yet finished)

    image

    Please don't merge yet, this is just a draft for further discussion.

    opened by 123marvin123 35
  • Compile error, possibly two tui versions?

    Compile error, possibly two tui versions?

    Describe the bug When compiling Macchina v6.1.1, I receive the error: expected enum `tui::style::Color`, found a different enum `tui::style::Color` arguments to this function are incorrect. I am compiling with cargo install macchina on Arch Linux using Rust v1.63

    To Reproduce Steps to reproduce the behavior:

    1. Type cargo install macchina
    2. Wait for compile (all depends compile).

    I have cleared ~/.cargo/registry/cache, ~/.cargo/registry/index and ~/.cargo/registry/src but results in the same error.

    Expected behavior Cargo to finish compiling and install macchina binary.

    Screenshots Full error:

       Compiling libmacchina v6.2.0
       Compiling macchina v6.1.1
    error[E0308]: mismatched types
      --> /home/carneeki/.cargo/registry/src/github.com-1ecc6299db9ec823/macchina-6.1.1/src/theme/base.rs:14:24
       |
    14 | #[derive(Debug, Clone, Serialize, Deserialize)]
       |                        ^^^^^^^^^
       |                        |
       |                        expected enum `tui::style::Color`, found a different enum `tui::style::Color`
       |                        arguments to this function are incorrect
       |
       = note: expected reference `&tui::style::Color`
                  found reference `&'__a tui::style::Color`
       = note: perhaps two different versions of crate `tui` are being used?
    note: function defined here
      --> /home/carneeki/.cargo/registry/src/github.com-1ecc6299db9ec823/color-to-tui-0.2.0/src/lib.rs:7:8
       |
    7  | pub fn serialize<S: Serializer>(color: &Color, serializer: S) -> Result<S::Ok, S::Error> {
       |        ^^^^^^^^^
       = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0308]: mismatched types
      --> /home/carneeki/.cargo/registry/src/github.com-1ecc6299db9ec823/macchina-6.1.1/src/theme/base.rs:14:35
       |
    14 | #[derive(Debug, Clone, Serialize, Deserialize)]
       |                                   ^^^^^^^^^^^ expected enum `tui::style::Color`, found a different enum `tui::style::Color`
       |
       = note: perhaps two different versions of crate `tui` are being used?
       = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0308]: mismatched types
       --> /home/carneeki/.cargo/registry/src/github.com-1ecc6299db9ec823/macchina-6.1.1/src/theme/components.rs:106:33
        |
    106 | #[derive(Debug, Default, Clone, Serialize, Deserialize)]
        |                                 ^^^^^^^^^
        |                                 |
        |                                 expected enum `tui::style::Color`, found a different enum `tui::style::Color`
        |                                 arguments to this function are incorrect
        |
        = note: expected reference `&std::option::Option<tui::style::Color>`
                   found reference `&'__a std::option::Option<tui::style::Color>`
        = note: perhaps two different versions of crate `tui` are being used?
    note: function defined here
       --> /home/carneeki/.cargo/registry/src/github.com-1ecc6299db9ec823/color-to-tui-0.2.0/src/optional.rs:4:8
        |
    4   | pub fn serialize<S: Serializer>(color: &Option<Color>, serializer: S) -> Result<S::Ok, S::Error> {
        |        ^^^^^^^^^
        = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0308]: mismatched types
       --> /home/carneeki/.cargo/registry/src/github.com-1ecc6299db9ec823/macchina-6.1.1/src/theme/components.rs:106:44
        |
    106 | #[derive(Debug, Default, Clone, Serialize, Deserialize)]
        |                                            ^^^^^^^^^^^ expected enum `tui::style::Color`, found a different enum `tui::style::Color`
        |
        = note: expected enum `std::option::Option<tui::style::Color>` (enum `tui::style::Color`)
                   found enum `std::option::Option<tui::style::Color>` (enum `tui::style::Color`)
        = note: perhaps two different versions of crate `tui` are being used?
        = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    For more information about this error, try `rustc --explain E0308`.
    error: could not compile `macchina` due to 8 previous errors
    error: failed to compile `macchina v6.1.1`, intermediate artifacts can be found at `/tmp/cargo-installoD2ntw`
    

    System Information

    • Distribution: Arch Linux
    • Desktop Environment: Gnome w/Wayland
    • Operating System: Arch Linux
    • Terminal: Wezterm
    • Macchina's version: v6.1.1
    type/bug type/build-error other/help-wanted 
    opened by carneeki 34
  • [BUG] Package count fails on NetBSD

    [BUG] Package count fails on NetBSD

    /home/pin()
    2021-11-01 09:48 > macchina -v
    macchina    5.0.0
    libmacchina 3.3.1
    /home/pin()
    2021-11-01 09:49 > macchina
                                                                    
      Host         pin@mybox                                        
      Machine      Hewlett-Packard HP EliteBook 820 G1 A3009DD10303
      OS           NetBSD 9.99.92                                   
      WM           Franken                                          
      Terminal     xterm                                            
      Shell        nu                                               
      Uptime       1h 19m                                           
      CPU          Intel® Core™ i5-4210U CPU @ 1.70GHz (4)          
      Memory       1.5 GB/7.5 GB                                    
      Battery      98% & Charging                                   
    
    /home/pin()
    2021-11-01 09:49 > macchina -d
    Let's check your system for errors... Here's a summary:
    
    We've collected 11 readouts, including 1 failed read(s) and 0 read(s) which resulted in a warning.
    Readout "Packages" failed with message: No packages found — Do you have a package manager installed?
    /home/pin()
    2021-11-01 09:49 > 
    
    

    Although, ls /usr/pkg/pkgdb | wc -l reports the correct number of installed packages. I'm still working on properly installing the themes so they get detected.

    You can find my configuration and theme files here, https://codeberg.org/pin/franken-nbsd/src/branch/main/home/.config/macchina

    opened by 0323pin 28
  • Add support for rgb and indexed colors

    Add support for rgb and indexed colors

    Added support for rgb and indexed colors by using cusom de/serialization of the tui::style::Color struct.

    Source here https://git.uttarayan.me/uttarayan/color-parser-tui. I will publish to crates.io after a bit more testing.

    opened by uttarayan21 26
  • [question] raspberry slow on cargo (rust?!)

    [question] raspberry slow on cargo (rust?!)

    When trying to install on my Raspberry, my pi is throttling the cargo installation. All 4 core go on 100% load and becomes very slow on installing. is there any easier way? im thinking "pkg install macchina".

    opened by Dan1jel 26
  • LeftWM, fetched as DE instead of WM

    LeftWM, fetched as DE instead of WM

    @grtcdr Hi, hope you're doing fine. Just came across an interesting one :)

    Usually I have the DE read-out disabled as I don't use one. Yesterday I started to play arround with leftwm and finally got it to build and run from git-HEAD, https://i.postimg.cc/hGksKScV/2021-11-29-231906-1366x768-scrot.png

    When macchina failed to display the WM read-out, I disabled it and enabled the DE one. Surprise, it actually fetches leftwm as DE. Not a big deal, just thought I'd let you know.

    opened by 0323pin 25
  • Text To Speech Support

    Text To Speech Support

    This post has made me aware of the difficulties blind people can come across when using programs.

    This will of course be a feature one can enable on their own. It's time fetchers started targeting a wider audience. :smile:

    If any of you lovely people has any expertise in accessibility features and can help implement this one or can help provide us with ideas, we'd really appreciate it! :heart:

    opened by grtcdr 23
  • [BUG] Crashes on FreeBSD 13

    [BUG] Crashes on FreeBSD 13

    Describe the bug Macchina crashes on FreeBSD 13.

    To Reproduce Steps to reproduce the behavior:

    1. Run cargo install macchina
    2. Run macchina

    Expected behavior It should display system information.

    Screenshots

    $ RUST_BACKTRACE=full macchina
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Utf8Error(Utf8Error { valid_up_to: 48, error_len: Some(1) })', /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/libmacchina-6.3.1/src/freebsd/mod.rs:244:14
    stack backtrace:
       0:     0x3b064fc4c4d1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf9bca0a54f465bd9
       1:     0x3b064fbf7d0e - core::fmt::write::hdf9e1b7bc0c7ef23
       2:     0x3b064fc28c44 - std::io::Write::write_fmt::h6e00616d8cf5d394
       3:     0x3b064fc37186 - std::panicking::default_hook::{{closure}}::ha5a1e37665f439d8
       4:     0x3b064fc37ae4 - std::panicking::rust_panic_with_hook::h184324b56212ec2b
       5:     0x3b064fc4c862 - std::panicking::begin_panic_handler::{{closure}}::hdd7dccc960a25e4f
       6:     0x3b064fc4c7d6 - std::sys_common::backtrace::__rust_end_short_backtrace::h1fb3000d64dd03f0
       7:     0x3b064fc374c2 - rust_begin_unwind
       8:     0x3b064fbf9e12 - core::panicking::panic_fmt::hc3aba48bba555f86
       9:     0x3b064fbfad22 - core::result::unwrap_failed::hb64f9d366cb13a63
      10:     0x3b064fb7bc3c - macchina::data::get_all_readouts::heeef78197dbc036f
      11:     0x3b064fb8454a - macchina::main::h38699e8f6cd6d7fc
      12:     0x3b064fb530f3 - std::sys_common::backtrace::__rust_begin_short_backtrace::hc47aa0a27d9d3a07
      13:     0x3b064fb534a1 - std::rt::lang_start::{{closure}}::h6e1fe9ba24be0494
      14:     0x3b064fba55a7 - main
    

    macchina --doctor output

    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Utf8Error(Utf8Error { valid_up_to: 48, error_len: Some(1) })', /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/libmacchina-6.3.1/src/freebsd/mod.rs:244:14
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    

    System Information You don't have to provide this information if you're not comfortable doing so, but it'll help us solve the issue a lot faster.

    • Distribution: FreeBSD
    • Desktop Environment: N/A
    • Operating System: FreeBSD 13.1-RELEASE
    • Terminal: kitty
    • Macchina's version: macchina 6.1.5, libmacchina 6.3.1
    opened by yonas 6
  • [FEATURE] Store custom ASCII-art in theme's toml file

    [FEATURE] Store custom ASCII-art in theme's toml file

    Currently, the only way I can see (in the docs) to use custom ascii art is through a path but could a multiline toml variable not be added that holds the ascii? Sort of like:

    [custom_ascii]
    ascii='''
           _                        
           \`*-.                    
            )  _`-.                 
           .  : `. .                
           : _   '  \               
           ; *` _.   `*-._          
           `-.-'          `-.       
             ;       `       `.     
             :.       .        \    
             . \  .   :   .-'   .   
             '  `+.;  ;  '      :   
             :  '  |    ;       ;-. 
             ; '   : :`-:     _.`* ;
    [bug] .*' /  .*' ; .*`- +'  `*' 
          `*-*   `*-*  `*-*'
    '''
    

    This way, the whole theme can be stored within the toml file. It's also worth asking: could custom themes have multiple ASCII arts for different operating systems? I'd love to see a lot more flexibility with themes as long as it doesn't downgrade performance.

    type/feature area/ascii 
    opened by KingPEPSALT 16
  • [FEATURE] ascii art positioning

    [FEATURE] ascii art positioning

    I've glanced over the theme documentation and I don't think there's this possibility yet.

    Add a setting to specify the position where the ascii art should be displayed. Currently, it always displays on the left. I have a fairly wide but short ascii art I'd like to use, it would look best if it was above the system info box. Having a wide ascii art side by side with the system info doesn't work well in narrow terminal windows.

    Something like:

    [custom_ascii]
    # Possible values: top, right, bottom, left
    # Default value: left
    position = "top"
    
    type/feature area/ascii 
    opened by hertg 7
  • [Feature request] Custom informations

    [Feature request] Custom informations

    I would like to be able to wrap some custom commands to display information I chose. Like

    # Show available upgrade in Voidlinux
    custom_info:
      - name: XBPS
        command: xbps-query -Mnu | wc -l
    

    I would use your fetcher on remote hosts, and run it at each login to get some useful informations, and display it prettily.

    area/fetching type/feature 
    opened by eoli3n 9
  • [Readout] 🎉 Bring battery health to Macchina

    [Readout] 🎉 Bring battery health to Macchina

    A handy readout to have is battery health, which has been sitting dormant in libmacchina for a good while. I didn't get around to implementing it for the remaining operating systems, with the exception of Linux.

    This is a WIP feature, further development is to be done in libmacchina

    opened by grtcdr 0
  • [Idea] Get GPU info

    [Idea] Get GPU info

    First question, where to get the information from?

    I found in the pciutils repository the following:

    In runs on the following systems:

    Linux (via /sys/bus/pci, /proc/bus/pci or i386 ports) FreeBSD (via /dev/pci) NetBSD (via libpci) OpenBSD (via /dev/pci) GNU/kFreeBSD (via /dev/pci) Solaris/i386 (direct port access) Aix (via /dev/pci and odmget) GNU Hurd (direct port access) Windows (direct port access, see README.Windows for caveats) CYGWIN (direct port access) BeOS (via syscalls) Haiku (via /dev/misc/poke) Darwin (via IOKit) DOS/DJGPP (via i386 ports) SylixOS (via /proc/pci)

    There are many possible places to search, depending on the kernel (or operating system). But in some cases it's a matter of reading a plain text file. In order not to make the issue too long, I recommend the first part of this article. As you can see in the article, it is possible to read the vendor identifier, device identifier and class identifier.

    Step two: mapping identifiers to GPUs

    I quote again the previous repository, the following:

    The database of PCI IDs (the pci.ids file) gets out of date much faster than I release new versions of this package, so it is maintained separately.

    It lives at https://pci-ids.ucw.cz/, where you can browse the database, download the most recent pci.ids file (e.g., by running the update-ids utility) and also submit new entries.

    If we go through that website, we can corroborate that the GPU information (in addition to other devices that are not relevant) can be obtained from these ID's.

    At first I thought that the pci.ids file should be downloaded regularly to keep it updated but, at least in Arch Linux, I found it in /usr/share/hwdata/pci.ids.

    I'm not sure this is the best way to solve it, but I think it can work, without relying on system commands or external crates.

    area/fetching type/feature other/help-wanted 
    opened by PandaFoss 15
Releases(v6.1.6)
Owner
Engineering student, Linux & FOSS enthusiast.
null
A simple rust-based tool for fetching system information

?? azf a simple rust-based tool for fetching system information you need a patched nerd font and the material design icons font ?? compiling you can c

Pedro Henrique 3 Dec 17, 2022
Untrusted IPC with maximum performance and minimum latency. On Rust, on Linux.

Untrusted IPC with maximum performance and minimum latency. On Rust, on Linux. When is this Rust crate useful? Performance or latency is crucial, and

null 72 Jan 3, 2023
A TUI system monitor written in Rust

NO LONGER MAINTAINED. For a similar program, check out https://github.com/ClementTsang/bottom. ytop Another TUI based system monitor, this time in Rus

Caleb Bassi 2.1k Jan 3, 2023
A lib crate for gathering system info such as cpu, distro, environment, kernel, etc in Rust.

nixinfo A lib crate for gathering system info such as cpu, distro, environment, kernel, etc in Rust. To use: nixinfo = "0.2.8" in your Cargo.toml. Cur

ValleyKnight 37 Nov 26, 2022
System Tools with real-time Web UI

HeroicToys The remake of useful CLI tools, but with Web UI. The project uses RillRate - Dynamic UI for bots, microservices, and IoT.

RillRate 27 Nov 10, 2022
System Tools with real-time Web UI

MultiTool System Tools with real-time Web UI. The project uses RillRate - Dynamic UI for bots, microservices, and IoT. Included Implemented: System Mo

RillRate 27 Nov 10, 2022
Cap'n Proto is a type system for distributed systems

Cap'n Proto for Rust documentation blog Introduction Cap'n Proto is a type system for distributed systems. With Cap'n Proto, you describe your data an

Cap'n Proto 1.5k Jan 1, 2023
⚡🦀 Yet another rust system info fetcher.

Yarsi: Yet another rust sys info fetcher ✨ Showcase requirements ?? cargo ?? install with $ curl https://sh.rustup.rs -sSf | sh installation ❤️‍?? Ya

BinaryBrainiacs 8 Jan 26, 2023
Alternative basic focus movement for the sway and i3 window managers.

sway-overfocus Alternative basic focus movement for the sway and i3 window managers. The primary goal of this program is to create one set of keybinds

null 42 Oct 23, 2022
Macchina - A system information frontend, with an (unhealthy) emphasis on performance.

macchina Fast, minimal and customizable system information frontend. Linux • macOS • Windows • NetBSD • FreeBSD • OpenWrt • Android About macchina let

Macchina CLI 682 Jan 5, 2023
EMOte FEtcher. Download an entire channel's emotes from TwitchEmotes.com.

Emofe EMOte FEtcher. Download an entire channel's emotes from TwitchEmotes.com. Disclaimer This is just an excuse to learn Rust. Nobody in their right

Ryan Marganti 3 Nov 17, 2022
Generate Nix fetcher calls from repository URLs [maintainer=@figsoda]

nurl Generate Nix fetcher calls from repository URLs $ nurl https://github.com/nix-community/patsh v0.2.0 2>/dev/null fetchFromGitHub { owner = "nix

Nix community projects 103 Jan 29, 2023
A fetcher hook for the Plato document reader that syncs an e-reader with an OPDS catalogue.

plato-opds A fetcher hook for the Plato document reader that syncs an e-reader with an OPDS catalogue. Motivation I wanted to be able to sync my e-rea

null 11 Nov 8, 2023
Sniffer - a tool to quickly inspect csv and flat-file files for basic information

sniffer sniffer is a tool to quickly inspect csv and flat-file files for basic information. Need to see how many rows are in a csv file? Want to see t

Daniel B 10 Apr 4, 2023
a TRUE krunker client with focus on usability and performance

purpose this client aims to be an ACTUAL client, that can fundementally interface with krunker like the normal browser equivilent compiling we reccome

null 10 Jun 23, 2022
Rust WebGL2 wrapper with a focus on making high-performance WebAssembly graphics code easier to write and maintain

Limelight Limelight is a WebGL2 wrapper with a focus on making high-performance WebAssembly graphics code easier to write and maintain. demo.mov live

drifting in space 27 Dec 30, 2022
xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance.

xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance

Mohamed Daahir 3.4k Jan 6, 2023
syncmap is a fast, concurrent cache library built with a focus on performance and correctness.

syncmap syncmap syncmap is a fast, concurrent cache library syncmap is a fast, concurrent cache library built with a focus on performance and correctn

Behrouz R.Farsi 15 Dec 2, 2022
ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-text search.

ReefDB ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-

Sacha Arbonel 75 Jun 12, 2023
🎨🦀 A system information tool for Rustaceans

?? ?? ferris-fetch Inspired by gofetch ?? ??️ Cross platfrom System Info Tool for Rustaceans ?? Installation ?? cargo install ferris-fetch Contributin

Ilya Revenko 107 Dec 19, 2022