This is the original Bash version of NeoWave, my custom system info and terminal tool built around Neofetch. Consider this a legacy repo — it shows my early work and the foundation for the more advanced Lua version.
⸻
NeoWave Bash was my first attempt at building a configurable, modular system info tool. It allowed:
- Custom ASCII logos (limited in Bash)
- Color presets for text and info modules
- Right-aligned info modules
- Preview, apply, and revert configs
It’s a lightweight approach to customizing Neofetch, designed to experiment with terminal aesthetics, info overrides, and system manipulation.
- ~/.config/neowave/
- ├── ascii/
- │ ├── custom/ # Add your own ASCII art here
- │ └── distro/ # Live preview ASCII logos for each distro
- ├── backup/ # Empty – intended for future config backups
- ├── colors/ # Color presets (.sh) for terminal themes
- ├── core/ # Main scripts & engine logic
- │ ├── actions.sh # Handles menu actions
- │ ├── apply.sh # Builds and applies configs
- │ ├── backup.sh # Copies and restores original configs
- │ ├── colors.sh # Loads color presets
- │ ├── logos.sh # ASCII logo handling
- │ ├── menu.sh # CLI menu system
- │ ├── state.sh # Stores current selections & state variables
- │ ├── tmp.conf # Temporary NEOFETCH config generated by scripts
- │ └── utils.sh # Helper functions & Banner ---
- ├── data/
- │ └── distros.db # Distro database for Distro selection
- ├── neowave.sh # Launch script: run neowave to start
- ├── profiles/ # Empty – reserved for user profiles
- ├── stock_configs/ # Backup of original NEOFETCH configs
- └── theme/ # Empty – reserved for custom themes****
⚙️ How It Works
- Drop neowave folder in ~/.config
- Run "neowave" command from your terminal.
- Use the CLI menu to:
- Preview and apply new configurations.
- Toggle ASCII logos (distro or custom).
- Change color presets (red, green, blue, yellow, purple).
- All changes generate a temporary config (tmp.conf) which can be previewed or applied.
- Original NEOFETCH configs are backed up in stock_configs so you can revert safely.
- Right-aligned info modules
- Config preview, apply, and revert system
- Basic color customization from presets
- Experimentation with distro ASCII logos
- Custom ASCII logos are broken or limited
- Terminal background and full color override not implemented
- No “fast fetch” mode support
- Limited compatibility with modern terminal emulators (some features may not render correctly)
This Bash version represents my early system experimentation. I pushed the boundaries of config-driven Neofetch manipulation, but Bash inherently limits:
- Modular flexibility
- Advanced ASCII/graphics handling
- Full color and terminal modifications
This is why the Lua version was developed — to unlock full customization, module overrides, and proper ASCII/color support.
- This version is meant as a learning and proof-of-concept tool.
- Lua version is recommended for full customization and modern terminal support.
- Use responsibly; intended for personal research and terminal enhancement.
- NeoWave Lua (Current Version) – Full-featured system info engine with custom ASCII, colors, modules, and overrides.
- NEOFETCH - Official Neofetch Repository
This project is open source and released under the MIT License. See LICENSE for details.
“NeoWave Bash shows where I started — the first step toward building modular, powerful, and fun terminal tools.”

