/hyfetch

πŸ³οΈβ€πŸŒˆ πŸ³οΈβ€βš§οΈ Neofetch with LGBTQ+ pride flags!

Primary LanguageShellMIT LicenseMIT

HyFetch

neofetch with pride flags <3

screenshot

Running Updated Original Neofetch

This repo also serves as an updated version of the original neofetch since the upstream dylanaraps/neofetch isn't maintained anymore and has been archived. If you only want to use the updated neofetch without pride flags, you can use the neofetch script from this repo. To prevent command name conflict, I call it neowofetch :)

  • Method 1: pip install -U hyfetch then run neowofetch
  • Method 2: npx neowofetch
  • Method 3: P="$HOME/.local/bin/neowofetch" && curl -L nf.hydev.org -o "$P" && chmod +x "$P"
  • Method 4: Run without install bash <(curl -sL nf.hydev.org)

Installation

Method 1: Install using Python pip (Recommended)

Install Python >= 3.7 first. Then, just do:

pip install -U hyfetch
# or
pipx install hyfetch

Method 2: Install using system package manager

Currently, these distributions have existing packages for HyFetch:

  • Universal Lure.sh: lure in hyfetch (Thanks to @Elara6331)
  • Arch Linux: sudo pacman -S hyfetch (Thanks to @Aleksana and @Antiz96)
  • Fedora Linux: sudo dnf install hyfetch (packaged by @topazus)
  • Nix: nix-env -i hyfetch (Thanks to @YisuiDenghua)
  • Nix Profile: nix profile install nixpkgs#hyfetch
  • Guix: guix install hyfetch (Thanks to @WammKD)
  • Slackware: sbopkg -b hyfetch Slackbuild (Thanks to @bittin and Urchlay)
  • Homebrew: brew install hyfetch (Thanks to @BKasin and @osalbahr)
  • openSUSE Tumbleweed: zypper in python311-hyfetch (Thanks to @BKasin)
  • Gentoo: emerge --ask app-misc/hyfetch (Thanks to @BKasin)
  • Debian and Ubuntu apt install hyfetch (for Debian flavor >= Trixie, Ubuntu flavor >= Noble) (Thanks to @BKasin)

Packaging status

Method 3: Install the latest developmental version using git

Install Python >= 3.7 first. Then run the following commands:

git clone https://github.com/hykilpikonna/hyfetch.git
cd hyfetch
pip install .

Usage

When you run hyfetch for the first time, it will prompt you to choose a color system and a preset. Just follow the prompt, and everything should work (hopefully). If something doesn't work, feel free to submit an issue!

If you want to use the updated neofetch without LGBTQ flags, check out this section

Questions and answers

Q: How do I change my config?

A: Use hyfetch -c

Q: What do I do if the color is too dark/light for my theme?

A: You can try setting the colors' "lightness" in the configuration menu. The value should be between 0 and 1. For example, if you are using dark theme and the rainbow flag is too dark to display, you can set lightness to 0.7.

Feel free to experiment with it!

image

Q: Why do you use pride flag's coloring? I don't think it looks nice at all.

A: The core idea behind HyFetch coloring isn't just to make logos look nicer, it's about representation and identity. While it's okay to assess the visual appeal, you also need to understand that the LGBTQ+ flag colors serves a much deeper purpose than just aesthetics.

For many in the LGBTQ+ community, these flags symbolize their identity, struggles, and pride. Integrating these symbols into a showcase of the tech specs they share can provide a sense of empowerment. It's combining their enthusiasm for their favorite distro / hardware with their LGBTQ+ identity.

Also, by including flag coloring along with the updated neofetch, we're also broadcasting a wider message about the importance of inclusivity and representation. It's not just a design choice, it's a statement that promotes awareness and understanding toward the LGBTQ+ community.

Q: When I use hyfetch or neowofetch in my MotD, no art displays. How do I get the art back?

A: Most likely, the stdout detection is set to auto and is removing the ascii art and colors. To change this, you can: set args in your hyfetch.json to "--stdout=off", add --stdout=off to the neowofetch command in your motd script, or set the option in $HOME/.config/(neofetch|neowofetch)/config.conf to off.

Q: How can I run HyFetch on Windows?

A: Install Python > 3.7 and Git > 2.42.0 first. Then, either open Git Bash terminal or install a terminal emulator that can display RGB colors (the default Windows cmd.exe cannot, but the new Windows Terminal can). Then, run pip install hyfetch and run hyfetch.

Contributing

To make changes to our codebase, you first need to create a fork by clicking the "Fork" button on the top right. Then, you can clone your fork of the source code using git clone https://github.com/{your username}/hyfetch.git.

After making changes to the source code, you can run python -m hyfetch in the root directory of your repo to test out your changes.

If they work correctly, you can commit and push these changes using git command or Github Desktop. Then, you can create a pull request on Github so that it can go into our next release!

You can also install your version locally by running pip install . in the repo root.

Change Log

About Notation

Updates to HyFetch begins with the emoji 🌈
Updates to neowofetch begins with the emoji πŸ–ΌοΈ

TODO

  • (Important!) Refactor flag storage & coloring to support non-stride patterns
  • Config menu: Allow left-right arrow keys for pagination

Nightly

Note: You can install the latest nightly version by using:

pip install git+https://github.com/hykilpikonna/hyfetch.git@master

1.4.11

  • 🌈 Add ability to set backend args in hyfetch config file (#181)
  • 🌈 Update makefile to be able to install hyfetch (#174)
  • 🌈 Fix config file argument (#177)
  • 🌈 Support pipx installation (#188, #192)
  • 🌈 Create package for Debian, OpenSUSE, Homebrew, Gentoo, and lure.sh
    (#184, #194, #207, #206) Huge thanks to @BKasin!
  • πŸ–Ό DE - Fix DE empty bracket in macOS (#172)
  • πŸ–Ό OS - Disable Hackintosh check on arm64 processors (dylanaraps#2396)
  • πŸ–Ό OS - Add Windows NT (#217)
  • πŸ–Ό Distro - Fixed Kubuntu recognized as Ubuntu (dylanaraps#2411)
  • πŸ–Ό Distro - Use /etc/debian_version to get .x on Debian (#191)
  • πŸ–Ό Distro - Add LainOS (#190)
  • πŸ–Ό Distro - Add aerOS (dylanaraps#2360)
  • πŸ–Ό Distro - Add Xenia (#197)
  • πŸ–Ό Distro - Add EndeavourOS Small Option (dylanaraps#2391)
  • πŸ–Ό Distro - Add AZOS (dylanaraps#2339)
  • πŸ–Ό Distro - Add MainsailOS (dylanaraps#2407)
  • πŸ–Ό Distro - Add Interix (dylanaraps#2409)
  • πŸ–Ό Distro - Add Peropesis Linux (dylanaraps#2414)
  • πŸ–Ό Distro - Add AdΓ©lie Linux (#218)
  • πŸ–Ό Distro - Add Xray_OS (dylanaraps#2413)
  • πŸ–Ό Ascii - Update AOSC logo (#185)
  • πŸ–Ό Ascii - Update phyOS logo (#211)
  • πŸ–Ό Ascii - Update Parch logo (dylanaraps#2045)
  • πŸ–Ό Ascii - Add linux_small (dylanaraps#2417)
  • πŸ–Ό Bug Fix - Fix color blocks for bash !=3 & <5 (#170)
  • πŸ–Ό Bug Fix - Use sed -r instead of -E when using GNU sed (#171)
  • πŸ–Ό Resolution - Improved MacOS resolution detection (dylanaraps#2356)
  • πŸ–Ό Terminal - Add support for alacritty's new config format (#202)
  • πŸ–Ό Terminal - Check for newer xfce4-term config (#214)
  • πŸ–Ό Package - Add support for npm global packages (#215)

1.4.10

  • 🌈 Add support for qwqfetch backend (#148)
  • 🌈 Add nonhuman-unity flag (#139)
  • 🌈 Add gynesexual, androsexual flags (#157)
  • 🌈 Add option to disable pride month animation (#134)
  • 🌈 Make ^C error message less aggressive (?)
  • 🌈 Fix: Should not assume ~/.config is writable (#136)
  • 🌈 Fix: Foreground-background arrangement not detected (#154)
  • πŸ–Ό OS - Update macOS version name list (#140)
  • πŸ–Ό Ascii - Improve color removal (#161)
  • πŸ–Ό Ascii - Fix reset character performance (#158)
  • πŸ–Ό Distro - Smoothen the Tumbleweed logo (dylanaraps#2342)
  • πŸ–Ό Distro - Update RebornOS logo (dylanaraps#2358)
  • πŸ–Ό Distro - Update Venom Linux logo (#166)
  • πŸ–Ό Distro - Add Windows 95 ASCII logo (dylanaraps#2346)
  • πŸ–Ό Distro - Add ParchLinux (dylanaraps#2045)
  • πŸ–Ό Distro - Add OpenKylin (dylanaraps#2341)
  • πŸ–Ό Distro - Add EvolutionOS (dylanaraps#2350)
  • πŸ–Ό Distro - Add Salix (dylanaraps#2357)
  • πŸ–Ό Distro - Add Panwah (dylanaraps#2355)
  • πŸ–Ό Distro - Add PhyOS (#142)
  • πŸ–Ό Distro - Add Athena OS (#130)
  • πŸ–Ό Distro - Add Meowix (#159)
  • πŸ–Ό Distro - Add Slackel (#167)
  • πŸ–Ό Distro - Support *Wrt variants (dylanaraps#2352)
  • πŸ–Ό Version - Fix a typo that broke OS detection on WSL (#155)
  • πŸ–Ό Packages - Implement --package_separate flag (#135)
  • πŸ–Ό Packages - Separate flatpak-system and flatpak-user (#135)
  • πŸ–Ό Packages - Add steam as a package manager (#152)
  • πŸ–Ό Packages - Add squirrel package manager (#153)
  • πŸ–Ό Packages - Make cargo run on all systems (#146)
  • πŸ–Ό Packages - Fix cargo package count (#144)
  • πŸ–Ό Packages - Add Devbox package manager (#137)
  • πŸ–Ό Packages - Fix phantom package when pm command fails (#145)
  • πŸ–Ό Packages - Update scratch package manager (#165)
  • πŸ–Ό Editor - Better version detection
  • πŸ–Ό Resolution - Improve macOS resolution detection (dylanaraps#2356)
  • πŸ–Ό Resolution - Add resolution lookup for iOS (#164)
  • πŸ–Ό Desktop - Display global KDE Plasma theme (#163)
  • πŸ–Ό IP - Improve macOS local IP detection (dylanaraps#2362)
  • πŸ–Ό IP - Fix macOS route hangs on reverse DNS lookup
  • πŸ–Ό Config - Allow specifying default config to copy to ~/.config (#133)

1.4.9

  • 🌈 Add pride month easter-egg animation! ⭐️
  • 🌈 Autocompletion for bash, zsh, tcsh (#96)
  • 🌈 Add nix profile installation method (#114)
  • 🌈 Add experimental color overlay function for more accurate lightness adjusting (using --c-overlay)
  • 🌈 Allow neofetch argument passthrough (using --args='...')
  • 🌈 Show recommended terminal size (#129)
  • 🌈 Update issue & pull request templates
  • πŸ–Ό Hostname - Fix FQDN substitution
  • πŸ–Ό Version - Fix Windows version detection (dylanaraps#2309)
  • πŸ–Ό Packages - Fix winget stuck on agreement (#82)
  • πŸ–Ό Distro - Fix Windows text encoding (#115)
  • πŸ–Ό Distro - Add Astra Linux (dylanaraps#2313)
  • πŸ–Ό Distro - Add FemboyOS (#121)
  • πŸ–Ό Distro - Add Nobara Linux (dylanaraps#2326)
  • πŸ–Ό Font - Fix Konsole ppid detection (#116)
  • πŸ–Ό Font - Fix Konsole terminal font detection (#127)
  • πŸ–Ό Image - Optimize sixel image display (dylanaraps#2316)

1.4.8

  • 🌈 Improved Windows git bash detection (#99)
  • 🌈 Improved color formatting codes (#101)
  • 🌈 Allow specifying distro in config (#102)
  • 🌈 Allow specifying custom ascii files (#104)
  • 🌈 Add omniromantic and pangender flags (#106)
  • 🌈 Now officially packaged for ArchLinux Community & Slackware! (#112 | #109)
  • πŸ–Ό Host - Update Apple device model detection. (#111)
  • πŸ–Ό Distro - Add Salient OS. (dylanaraps#2301)
  • πŸ–Ό Distro - Add PikaOS. (#105)
  • πŸ–Ό Distro - Add Archcraft minimal variant. (#108)
  • πŸ–Ό Distro - Update Vanilla logo. (#98)
  • πŸ–Ό Distro - ChromeOS version improvements. (dylanaraps#2305)
  • πŸ–Ό CPU - Improved multi-cpu ARM chip detection. (#97)
  • πŸ–Ό Packages - Support pipx package manager. (#107)

1.4.7

  • 🌈 Better Windows compatibility (#45, #84, #87, #89)
  • 🌈 Add gendervoid flags (#81)
  • 🌈 Fix ASCII extractor escape sequence generation (#90, #91)
  • πŸ–Ό Distro - Add CuteOS (dylanaraps#2291)
  • πŸ–Ό Distro - Add Floflis (dylanaraps#2289)
  • πŸ–Ό Distro - Add ArseLinux (dylanaraps#2295)
  • πŸ–Ό Distro - Better Solaris support (dylanaraps#2293)
  • πŸ–Ό Packages - Fix scoop package manager for Windows (#93)
  • πŸ–Ό Packages - Add Evox package manager for Stock Linux (#95)
  • πŸ–Ό WM - Fix false positive wm process name detection (#88, #94)
  • πŸ–Ό Misc - Added BIOS and bluetooth detection

1.4.6

  • 🌈 Add compatibility for FastFetch version >1.8.0 (#62)
  • πŸ–Ό Distro - Add Aperture Science ascii art (#61)
  • πŸ–Ό Distro - Add RhaymOS (dylanaraps#2274)
  • πŸ–Ό Editor - Add editor information detection (dylanaraps#2271)
  • πŸ–Ό Packages - Fix empty cargo directory (#58)
  • πŸ–Ό Terminal - Display gnome-console instead of kgx (dylanaraps#2277)
  • πŸ–Ό Terminal - Fix terminal detection with new get_process_name function
  • πŸ–Ό CPU - Detect ISA string on RISC-V CPUs (#60)
  • πŸ–Ό Song - Fix CMUS player song detection on macOS (#55)
  • πŸ–Ό Network - Fix macOS network detection (#56)
  • πŸ–Ό Misc - Change LICENSE year to 2023 (#59)

1.4.5

  • 🌈 Support using FastFetch as a HyFetch backend (hyfetch -b fastfetch)
  • 🌈 Add config file argument (#48)
  • 🌈 Fix problems caused by color detection on Windows (#16)
  • 🌈 Support pure-python distro detection for FastFetch
  • πŸ–ΌοΈ Distro - Add Aster Linux (dylanaraps#2251)
  • πŸ–ΌοΈ Distro - Add Hybrid Linux (dylanaraps#2239)
  • πŸ–ΌοΈ Distro - Add UrukOS (dylanaraps#2258)
  • πŸ–ΌοΈ Distro - Add Project Sasanqua (dylanaraps#2264)
  • πŸ–ΌοΈ Distro - Add Kali small variant (dylanaraps#2242)
  • πŸ–ΌοΈ Distro - Fix CachyOS matching (dylanaraps#2026)
  • πŸ–Ό WM - Fix wm detection with fuser (#39)
  • πŸ–ΌοΈ Memory - Make memory unit decimal calculation more accurate (#52)
  • πŸ–Ό Packages - Fix squirrel (Stock Linux) package count detection (#39)
  • πŸ–Ό Packages - Support cargo bin environment variable (#49)
  • πŸ–Ό Packages - Add tea.xyz package manager (issue dylanaraps#2235)

1.4.4

  • 🌈 Fix Python 3.11 compatibility (#35)
  • 🌈 Fix many overflow problems when screen is too small
  • πŸ–ΌοΈ Distro - Add Enso (dylanaraps#2233)
  • πŸ–ΌοΈ Memory - Optimize and fix memory unit conversion (dylanaraps#2225)
  • πŸ–ΌοΈ DE - Add dwl window manager (dylanaraps#2234)
  • πŸ–ΌοΈ DE - Fix XDG session detection for X11 (dylanaraps#2232)
  • πŸ–ΌοΈ CPU - Fix model detection for loongson (#34)

1.4.3

  • 🌈 Auto detect terminal background color & rgb support
  • 🌈 Optimize experience on light-themed terminals
  • 🌈 Fix bugs with lightness and light-mode config not applying
  • 🌈 Fix color alignment for distros with first color β‰  ${c1} (e.g. Ubuntu Budgie)
  • 🌈 Add unlabeled flags (#25)
  • 🌈 Add gender nonconforming & femboy & tomboy flags (#32)
  • 🌈 Fix jailbreak iOS shell killed: 9 issue caused by ld signature check.
  • πŸ–ΌοΈ Distro - Add garuda_small (dylanaraps#2215)
  • πŸ–ΌοΈ Distro - Add Cobalt Linux (dylanaraps#2213)
  • πŸ–ΌοΈ Distro - Add VanillaOS (dylanaraps#2222)
  • πŸ–ΌοΈ Distro - Surround macOS build number in parentheses (#28)
  • πŸ–ΌοΈ Misc - Auto select stdout mode based on tty detection (#31)
  • πŸ–ΌοΈ Bug Fix - Fix cols coloring reset for bash 3.2 (#24)

1.4.2

  • 🌈 Detailed runnning/contributing instructions in README.md (#21)
  • πŸ–ΌοΈ Distro - Add Stock Linux (#23)
  • πŸ–ΌοΈ Distro - Add DietPi (dylanaraps#1706)
  • πŸ–ΌοΈ Distro - Add OmniOS illumos (dylanaraps#2196)
  • πŸ–ΌοΈ Distro - Add Droidian (dylanaraps#2201)
  • πŸ–ΌοΈ Distro - Add HamoniKR (dylanaraps#2210)
  • πŸ–ΌοΈ Song - Add support for TIDAL HiFi (#22)
  • πŸ–ΌοΈ CPU - Detect multiple CPU models for ARM
  • πŸ–ΌοΈ Misc - Better defaults: Show RAM in GiB, RAM percentage, CPU speed rounding, refresh rate
  • πŸ–ΌοΈ Bug Fix - Fix bash 5.2 column cut off issue (#24)

1.4.1

  • 🌈 Paginate flags (#14)
  • 🌈 Add release workflow (#15)
  • 🌈 Create automatic release script
  • 🌈 Config page - Give warning when terminal size is too small
  • 🌈 Config page - Optimize color arrangement selection on small screens
  • 🌈 Add experimental Windows support (very unstable at the moment)
  • πŸ–ΌοΈ Distro - Add ravynOS (dylanaraps#2182)
  • πŸ–ΌοΈ Distro - Add ChonkySealOS (dylanaraps#2180)
  • πŸ–ΌοΈ Distro - Add GhostBSD (TheSudoer#18)
  • πŸ–ΌοΈ Distro - Add NekOS (dylanaraps#2186)
  • πŸ–ΌοΈ Distro - Add astOS (dylanaraps#2185)
  • πŸ–ΌοΈ Distro - Fix ChromeOS identification (dylanaraps#1949)
  • πŸ–ΌοΈ WM - Add Hyprland to the list of wayland wms (dylanaraps#2190)
  • πŸ–ΌοΈ Env - Add Java, Python, Node version detection (can be enabled in config)
  • πŸ–ΌοΈ Bug Fix - Fix hostname detection when inetutils is not installed
  • πŸ–ΌοΈ Bug Fix - Fix empty brackets displayed when no theme is found (dylanaraps#1713)
  • πŸ–ΌοΈ Bug Fix - Fix $ escape bug in strip_escape_codes() (dylanaraps#1543)
  • πŸ–ΌοΈ Bug Fix - Fix backslash escape bug in strip_escape_codes() (dylanaraps#1543)
  • πŸ–ΌοΈ Bug Fix - Fix CPU detection on ARM QEMU

1.4.0

  • 🌈 Add finsexual flag (#12)
  • πŸš€ Addressed a total of 128 currently open pull requests from neofetch
πŸ–ΌοΈ Meta Changes
  • Meta - Fixed shellcheck warnings in neowofetch
  • Meta - Moved shellcheck from travis to GitHub Actions
  • Meta - Created a script to automatically generate distro list
  • Colors - Allow RGB colors in neofetch --ascii_colors argument (dylanaraps#1726)
πŸ–ΌοΈ Distro/OS Support Changes
πŸ–ΌοΈ Device Support Changes
πŸ–ΌοΈ Bug Fixes

1.3.0

πŸ–ΌοΈ Ascii Art Changes
πŸ–ΌοΈ Distro/OS Support Changes
πŸ–ΌοΈ Device Support Changes
πŸ–ΌοΈ Bug Fixes

1.2.0

  • πŸš€ Take over neofetch with neowofetch
πŸ–ΌοΈ Ascii Art Changes
  • Ascii - Add uwuntu (#9) (use it with hyfetch --test-distro uwuntu or neowofetch --ascii_distro uwuntu)
  • Ascii - Better Void ascii art (#10)
  • Ascii - Update old NixOS logo for compatibility (dylanaraps#2114)
πŸ–ΌοΈ Distro/OS Support Changes
πŸ–ΌοΈ Device/Program Support Changes
πŸ–ΌοΈ Bug Fixes

1.1.3rc1

  • 🌈 Add foreground-background color arrangement to make Fedora and Ubuntu look nicer
  • 🌈 Allow typing abbreviations in flag selection
  • 🌈 Fix: Duplicate random color arrangements are appearing in selection screen
  • 🌈 Fix: Inconsistant color arrangement when saved to config file

1.1.2

  • Add more flags (#5)
  • Removed numpy dependency that was used in 1.1.0

1.1.0

  • Refactored a lot of things
  • Added Beiyang flag xD
  • Added interactive configurator for brightness adjustment
  • Added dark/light mode selection
  • Added color bar preview for RGB/8bit mode selection
  • Added random color arrangement feature (for NixOS)

1.0.7

  • Fix: Make config path not on init but when it's actually needed.

1.0.6

  • Remove hypy_utils dependency to make packaging easier.

1.0.5

1.0.4

1.0.3

  • Fix missing dependency for setuptools

1.0.2

  • Implement RGB to 8bit conversion
  • Add support for Python 3.7 and 3.8

1.0.1

  • Included 11 flag presets
  • Ability to lighten colors with --c-set-l <lightness>
  • Command-line flag chooser
  • Supports Python >= 3.9

More Screenshots

image image

Original Readme from Neofetch Below

logo

A command-line system information tool written in bash 3.2+

Packaging status

neofetch

Neofetch is a command-line system information tool written in bash 3.2+. Neofetch displays information about your operating system, software and hardware in an aesthetic and visually pleasing way.

The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistic/diagnostics.

The information by default is displayed alongside your operating system's logo. You can further configure Neofetch to instead use an image, a custom ASCII file, your wallpaper or nothing at all.

neofetch

You can further configure Neofetch to display exactly what you want it to. Through the use of command-line flags and the configuration file you can change existing information outputs or add your own custom ones.

Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX and Haiku. If your favourite operating system is unsupported: Open up an issue and support will be added.