A simple system information fetch tool written in the Vix programming language, inspired by neofetch and vfetch.
- System Information Display: Shows OS, kernel, memory usage, disk usage, and Vix compiler version
- Cross-platform Support: Works on Linux, macOS, and Windows (primarily designed for Unix-like systems)
- Simple & Lightweight: Minimal dependencies, uses only C standard library interop
- Clean Output: Plain text display with ASCII art logo
- Vix Compiler (
vixc) installed - Unix-like environment (Linux, macOS, or WSL on Windows)
# Clone the repository
git clone https://github.com/vixlang/vixfetch.git
cd vixfetch
# Compile vixfetch
vixc vixfetch.vix -o vixfetch
# Run the program
./vixfetchSimply run the compiled binary:
./vixfetch __ __ _
\ \ / / (_)
\ \ / / _ __ __
\ \/ / | | \ \/ /
\ / | | > <
\/ |_| /_/\_\
vixfetch - Vix Language System Info
───────────────────────────────
Language: Vix
Compiler: vixc
Architecture: x86_64
System Commands Output:
───────────────────────────────
[OS Information]
Linux hostname 6.6.114.1-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
[Memory Usage]
total used free shared buff/cache available
Mem: 7.6Gi 1.4Gi 4.0Gi 52Mi 2.5Gi 6.3Gi
Swap: 2.0Gi 3.0Mi 2.0Gi
[Disk Usage]
Filesystem Size Used Avail Use% Mounted on
/dev/sdd 1007G 130G 827G 14% /
[Vix Environment]
───────────────────────────────
Version: Vix Compiler 0.1.0_rc1_2 (Beta_26.01.01) by:Mincx1203 Copyright(c) 2025-2026
██████
vixfetch demonstrates key features of the Vix language:
Vix's standard library is minimal, so it uses extern "C" to call C functions:
extern "C"
{
fn printf(format: ptr, ...) -> i32
fn system(cmd: ptr) -> i32
}
Instead of built-in APIs, it executes shell commands to gather system information:
- OS Info:
uname -a - Memory Usage:
free -h - Disk Usage:
df -h / - Compiler Version:
vixc --version
Commands include fallback logic for compatibility:
system("free -h 2>/dev/null || echo 'Not available'")
This ensures the program continues even if a command isn't available.
Vix's lexer currently only supports basic escape sequences (\n, \t, \\, etc.). ANSI color codes using hexadecimal (\x1b) or octal (\033) escapes are not supported. Therefore, vixfetch uses plain text output.
| Platform | Status | Notes |
|---|---|---|
| Linux | Tested | Works on most distributions |
| macOS | Untested | Should work with minor adjustments |
| Windows | Limited | Requires WSL or MSYS2 for best results |
| WSL2 | Tested | Fully functional |
The complete source code is located in vixfetch.vix. Key sections:
// External C functions
extern "C" {
fn printf(format: ptr, ...) -> i32
fn system(cmd: ptr) -> i32
}
// Main function
fn main(argc: i32, argv: ptr) -> i32 {
// Print logo
printf(" __ __ _ \n")
// ... (more ASCII art)
// Gather system info
system("uname -a")
system("free -h 2>/dev/null || echo 'Not available'")
system("df -h / 2>/dev/null || echo 'Not available'")
return 0
}
Contributions are welcome! If you'd like to improve vixfetch:
- Add more system information (CPU model, uptime, etc.)
- Improve cross-platform compatibility
- Add color support (once Vix lexer supports advanced escape sequences)
- Optimize output formatting
Please follow the Apache License 2.0 terms.
This project is licensed under the Apache License 2.0.
See the LICENSE file for details.
Copyright 2025 Mulang_zty (Vix Language)
Copyright 2026 0xA672 (vfetch inspiration)
- neofetch - The original inspiration for system fetch tools
- vfetch - Direct inspiration for this tool, created by 0xA672
- Vix Language - The programming language used to build vixfetch
- Vix Community Contributors - For building the compiler and standard library
For questions or issues, please open an issue on the Vix-lang repository.
Made with love using Vix