Skip to content

gantoreno/macfetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Macfetch

https://img.shields.io/github/issues/gantoreno/macfetch GitHub branch check runs https://img.shields.io/github/license/gantoreno/macfetch https://img.shields.io/github/forks/gantoreno/macfetch https://img.shields.io/github/stars/gantoreno/macfetch

A macOS Neofetch alternative, previously written in C++, now written in Rust.

Note To view the previous files, visit the legacy branch, which contains the old C++ files for this project.

Why?

"But seriously, why? Why another Neofetch alternative?" I hear you ask, and the answer is pretty simple. There are multiple Neofetch rewrites out there, most of them probably faster than Macfetch, but besides doing absolutely the same as Neofetch (but much faster), they all share something in common, macOS is not supported.

  • paleofetch only supports Arch (and it's no longer maintained).
  • fastfetch works only on a handful of Linux distros.
  • freshfetch same as the above.
  • macchina lacks the Neofetch aesthetic.
  • afetch is awesome, but not what I'm looking for out of the box.

Yes, Linux is supported, and that's great, but it's about time for a macOS alternative to come out, and that's why Macfetch (as its name suggests) is macOS-only, and not only that, it's 95% faster.

Installation

You can either install Macfetch via Homebrew, or you can build from source.

Homebrew Installation

To install Macfetch via Homebrew, just tap the repository, and install like so:

brew tap gantoreno/macfetch
brew install macfetch

And voilà! Macfetch should now be installed under /usr/local/Cellar/macfetch/<version>.

Build From Source

To build from source. Start by cloning the repo:

git clone https://github.com/gantoreno/macfetch.git
cd macfetch

And simply run with cargo:

cargo run # for the debug target
cargo run --release # for the optimized release target

To build, same thing:

cargo build # for the debug target
cargo build --release # for the optimized release target

Your binary should be available under target/x86_64-apple-darwin/and withing the folder of the build target you chose (either debug or release).

Configuration

Macfetch can be customized via a TOML configuration file located at ~/.config/macfetch/config.toml.

Customizing Segments

You can control which segments are displayed and in what order by specifying a segments list under [general]:

[general]
segments = [
    "machine",
    "separator",
    "os",
    "cpu",
    "memory",
]

Only the segments listed will be rendered, in the order specified. If no config file exists, Macfetch uses the default segment order.

Available Segments

Segment Description
machine Username and hostname
separator Dashed separator line
os macOS version
host Hardware model
kernel Kernel version
uptime System uptime
packages Homebrew package count
shell Current shell
resolution Display resolution
de Desktop environment (Aqua)
wm Window manager (Quartz Compositor)
terminal Terminal emulator
cpu Processor info
gpu Graphics card
battery Battery percentage
memory RAM usage
empty Blank line
dark_colors Dark color palette
light_colors Light color palette

License

Licensed under the MIT license.

About

🍎 A macOS Neofetch alternative written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages