Giter VIP home page Giter VIP logo

meowfetch's Introduction

Meowfetch

minimal, fast and customizable system information program written in go.


Overview

at the moment I was learning go and after seeing meow.sh in the catppuccin repo I tought with myself why not rewrite it. at first i wrote the application in C but after seeing that code base is getting so complicated and bloated I wrote the application in golang which also compiles into binaries and its fast :) and thats how it all started.

Installation

make sure you have go and coreutils First clone the repository in your local machine:

git clone https://github.com/Itsnexn/meowfetch.git

then you can build and install application using GNU make:

make install

Features

  • Fast and minimal
  • Pride mode :)
  • cute little cat :^)
  • toml based easy configuration
  • beautiful borders and ui using charmbracelet/lipgloss

Configuration

Your configuration can be saved in $XDG_CONFIG_HOME/meowfetch/meow.conf or $HOME/.meow.conf. There is also a fallback path for configuration across operating systems, which is listed on the wiki page.

configuration files are written in toml which makes it easier to read and parse. Read the wiki additional details on the configuration file. You can view the default configuration file here.

TODO

  • New widgets
    • Music player widget
    • Systemd widget
    • Packages widget
  • Cross platform

Contribution

See CONTRIBUTING.md.

meowfetch's People

Contributors

faynopi avatar pandademic avatar signed-log avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

meowfetch's Issues

Crash when trying to show zsh shell version via shell_version

image

goroutine 1 [running]:
meowfetch/configs.ParseConfig()
	/home/pm/Documents/meowfetch/configs/config.go:44 +0x4e
main.main()
	/home/pm/Documents/meowfetch/main.go:27 +0x2e

(Ignore my shell repeating my commands, I misstyped the zsh command version and created a second zsh instance in the process)

Shell showing as SH even when using Bash/ZSH/Fish etc

Meowfetch only displaying SH as the system shell even when BASH, ZSH, FISH, etc are in use.

System Details -

EndeavourOS - Arch 5.19.2-arch1-1 Kernel
ZSH Shell (Do have Bash and FISH installed)

Steps to replicate -
Run meowfetch with the shell option added to widgets =
Produces the following for detected shell -
image
Run meowfetchusing env SHELL=<shellofchoice> meowfetch
Completes with detected shell as sh
image

meowfetch cannot start if no environment variables are defined

From #4

9p4:
If there is no config found, fallback to a system-wide config in /etc/meow.conf

Itsnexn:
We do not produce configuration at /etc/meow.conf by default; instead, it is generated in $HOME/.meow.conf or $XDG CONFIG HOME/meowfetch/meow.conf. As a result, we don't require a backup for it.

At the parser function, we additionally check to see if a directory exists.

meowfetch/configs/config.go

As a result, I don't believe we need a fallback value for this function.

9p4:
There is an application for this. When calling meowfetch as part of a motd script, the script does not have environment variables initialized. Since the os.UserHomeDir and os.LookupEnv both use environment variables to get the location of the configuration, there ought to be a way for the system to fallback to a system-wide config.

https://pkg.go.dev/os#UserHomeDir

Itsnexn:

When calling meowfetch as part of a motd script, the script does not have environment variables initialized.

I don't understand what you mean by motd script.

Since the os.UserHomeDir and os.LookupEnv both use environment variables to get the location of the configuration, there ought to be a way for the system to fallback to a system-wide config.

there is no system-wide configuration. the program will generate config by itself if it does not exist.

meowfetch/configs/config.go

please open an issue about this problem and we could continue this conversation there.

I think the best approach would be to copy the config file using the makefile at the install time. we could remove the embed and then change the parser.

Crashes iTerm when building on macOS Monterey

Love the idea! Looks super cute.

Two issues on macOS 12.3.1 (21E258):

  1. When running make install in iTerm2 3.4.15, it crashes the shell window/tab.
  2. If switching to vanilla Terminal, it appears to finish, but freezes without an exit code:
λ make

λ make install

[Process completed]

Happy to help troubleshoot 👌

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.