_ __ _ __ ____ _____ / | / /___ / | / /___ _____ ___ ___ / __ \/ ___/ / |/ / __ \/ |/ / __ `/ __ `__ \/ _ \/ / / /\__ \ / /| / /_/ / /| / /_/ / / / / / / __/ /_/ /___/ / /_/ |_/\____/_/ |_|\__,_/_/ /_/ /_/\___/\____//____/
Screenshot from 2.0.0, Tested in Termux via MyPhone myT10.

Screenshot from above of this screenshot is v0.3.1, current version (v2.0.0) has 40 games, 251 commands, and full color support not shown here.
One file. Zero dependencies. 40 games. 251 commands. One terminal.
Simulated OS meets sandbox playground — all in a single .cpp
A pure C++ terminal operating-system simulation featuring an interactive shell, virtual filesystem with metadata, 40 built-in games, and 251 developer tools — all contained in a single source file.
No external dependencies. No framework. No build system headaches. Just compile and run.
Note: NoNameOS is not a real operating system. It is a C++ simulation that mimics an OS environment with a shell, virtual filesystem, games, and built-in tools.
| Single File | Entire project is one .cpp — no build system, no #include hell, no headaches |
| Fun to Use | 40 games, easter eggs, colored output, animated boot — it's genuinely enjoyable |
| Learn C++ | See real-world STL, OOP, RAII, ANSI escape codes, and POSIX I/O in action |
| Hackable | Every feature in one file — read it, mod it, break it, fix it |
| Portable | Compiles everywhere — Linux, Termux, WSL, even your toaster if it runs g++ |
- C++ learners wanting to see real OS concepts without kernel-level complexity
- Students exploring filesystems, shells, and process simulation hands-on
- Hackers looking for a terminal sandbox packed with games and tools
- Termux users craving a fun single-file project to compile in under 10 seconds
- Why NoNameOS?
- Perfect For
- Features
- What's New in v2.0.0
- Quick Start
- Keyboard Shortcuts
- Build Instructions
- Command Reference
- Games
- Easter Eggs
- Custom Maps
- Architecture
- What You'll Learn
- FAQ
- Platform Requirements
- Tech Stack
- Fun Facts
- Version History
- Contributing
- License
| Category | What You Get | Highlights |
|---|---|---|
| Interactive Shell | Color-coded prompt, command duration, 251 commands | Arrow keys, history, fuzzy suggestions |
| Virtual Filesystem | Files, directories, symlinks, permissions, trash | Timestamps, sizes, ls -l, chmod |
| 40 Games | Arcade, puzzle, strategy, word, reflex games | Tetris, Othello, Blackjack, Wordle, Battleship |
| System Tools | Text editor, calculators, system info | kernel, netstat, traceroute, report |
| Text Processing | grep, find, sort, word count, diff | rev, tr, cut, uniq, nl, fold |
| Converters | Base64, ROT13, Morse, Roman, Binary | urlencode, hexdump, hash |
| Math & Stats | Calculators, BMI, tip, statistics | calc2, bmi, stats, dice, coin |
| Productivity | Todo list, notes, timers, password gen | pom, countdown, worldclock |
| Visual Effects | Matrix rain, rainbow text, color themes | matrix, lolcat, colors, disco |
| Fun & Easter Eggs | 25+ hidden commands | sudo, rickroll, konami, hack |
othello— classic Reversi vs. AI (2-player hotseat too)mastermind— crack the secret color code in 10 guessessimon— follow the growing light sequenceblackjack— beat the dealer with real card logicbattleship— sink the AI fleet with a smart-grid huntslots— 3-reel slot machine with jackpotsmaze— escape an 18×14 maze, generated per runnim— take-the-last-stone strategy gamebuzz— the 3/5 FizzBuzz challenge vs. AIbulls— cows & bulls number deductiontwentyone— simplified blackjack variantjumble— unscramble words across 5 categoriesarith— rapid-fire mental math quizbingo— auto-generated bingo card
kernel, boot (animated reboot), shutdown (halts the OS), netstat, dns, traceroute, lsblk, mount, fib, primes, collatz, sine, cube, shell (toy sub-shell), logout, report, mac, geoip, dict, log
llm (fake AI chat), gpt, blockchain (fake mining), mine, neo, rabbit, dlc, kitchen, toaster, canon
spinner, progress, gauge, rain, fire, stream (matrix-style), type (typewriter)
helpnow lists v2.0 categories: Games, System, Tools, Easter Eggs, Effects- Version bumped to v2.0.0 — the biggest feature drop yet
- Fixed 2 critical Sudoku infinite loops in initialization
- Fixed
setfill('0')state leak across commands - Fixed 5 dead easter eggs (moved inside primary handlers)
- Fixed hangman — now draws complete figure at game end
- Fixed Tic-Tac-toe error pause in raw mode
- Added
cin.ignorebeforecin.get()in all 21 prompts - Added quit mechanism to guess game
- Fixed 2048 duplicate win message
- Whack-a-mole '0' now triggers miss as documented
- World clock uses UTC offset math (no global
TZmodification) - Tetris J-piece now has 4 rotations
- kbhit/getkey use static peek buffer (race-free)
- CSV separator width fixed
- Global arrow key support in all 7 real-time games
- Shell readline with cursor movement, backspace, history navigation
- 25+ easter eggs (
sudo,konami,rickroll,disco,matrix, etc.)
- 11 new games: Tetris, Pong, Sudoku, Flappy Bird, Memory Cards, Connect Four, Lights Out, Sliding Puzzle, Breakout, Whack-a-Mole, Wordle, Quiz
- 60+ new commands: Converters, math tools, text processing, fun utilities
- Enhanced visuals: 256-color ANSI, truecolor RGB, animated boot, styled prompts
git clone https://github.com/Mark44928/NoNameOS.git && cd NoNameOS && g++ -O3 NoNameOS.cpp -o nonameos -lpthread && ./nonameosOne command. One file. One terminal. Pure C++ fun.
Or use make:
git clone https://github.com/Mark44928/NoNameOS.git && cd NoNameOS && make && ./nonameos| Key | Action |
|---|---|
↑ / ↓ |
Navigate command history |
← / → |
Move cursor left/right |
Backspace |
Delete character at cursor |
Enter |
Execute command |
| Key | Action |
|---|---|
WASD / Arrow Keys |
Move (snake, tetris, pong, breakout) |
SPACE / W / ↑ |
Jump (flappy, asciidash) |
Q |
Quit any game |
1-9 |
Whack-a-mole input |
Enter |
Confirm / continue |
NoNameOS is written in pure C++ and uses POSIX headers. It compiles on any Linux-based system with a C++ compiler.
pkg install clang
clang++ -O3 NoNameOS.cpp -o nonameos -lpthread
./nonameossudo apt update && sudo apt install g++
g++ -O3 NoNameOS.cpp -o nonameos -lpthread
./nonameossudo dnf install gcc-c++
g++ -O3 NoNameOS.cpp -o nonameos -lpthread
./nonameossudo pacman -S gcc
g++ -O3 NoNameOS.cpp -o nonameos -lpthread
./nonameos📁 Filesystem (24 commands)
| Command | Usage | Description |
|---|---|---|
ls |
ls |
List files in current directory |
ls -l |
ls -l |
Long listing with sizes, timestamps, and permissions |
cd |
cd <dir> |
Change directory (.. for parent, / for root) |
mkdir |
mkdir <name> |
Create a new directory (with intermediate parents) |
touch |
touch <file> |
Create an empty file |
cat |
cat <file> |
Display file contents |
echo |
echo <file> <content> |
Write content to a file |
rm |
rm <name> |
Move to trash (recycle bin, use trash to manage) |
rm -r |
rm -r <dir> |
Recursively trash a directory |
pwd |
pwd |
Print current working directory |
grep |
grep <pattern> <file> |
Search for a pattern in a file |
find |
find <name> |
Find files by name |
locate |
locate <pattern> |
Search VFS for paths matching pattern |
cp |
cp <source> <dest> |
Copy a file |
cp -r |
cp -r <src> <dst> |
Recursively copy a directory |
mv |
mv <source> <dest> |
Move or rename a file/directory |
ln -s |
ln -s <target> <link> |
Create a symbolic link |
du |
du [dir] |
Show disk usage of current or specified directory |
tree |
tree [dir] |
Display directory tree with indentation |
trash |
trash list|empty |
List or empty the trash |
chmod |
chmod <mode> <file> |
Change file permissions in VFS |
head |
head <file> |
Display first 10 lines of a file |
tail |
tail <file> |
Display last 10 lines of a file |
sort |
sort <file> |
Sort lines of a file alphabetically |
wc |
wc <file> |
Count lines, words, and characters |
tee |
tee <file> <text> |
Write to file and display on stdout |
⚙️ System (25 commands)
| Command | Usage | Description |
|---|---|---|
whoami |
whoami |
Show current user |
who |
who |
Show logged-in users |
date |
date |
Show current date and time |
uptime |
uptime |
Show system uptime and load |
hostname |
hostname |
Print system hostname |
uname |
uname [-a|-r|-s|-m] |
Print system information |
arch |
arch |
Print machine architecture |
nproc |
nproc |
Print number of CPUs |
free |
free |
Show simulated memory usage |
dmesg |
dmesg |
Print boot messages |
lscpu |
lscpu |
Show CPU information |
lsusb |
lsusb |
List USB devices |
ps |
ps |
List running processes |
top |
top |
Show process snapshot |
env |
env |
Show environment variables |
printenv |
printenv |
Print environment variables |
history |
history |
Show command history |
seq |
seq <end> |
Print sequence of numbers |
ping |
ping [host] |
Simulated ping |
watch |
watch <cmd> |
Run a command repeatedly |
df |
df |
Show VFS disk usage |
cfetch |
cfetch |
Display system info (like neofetch) |
clear |
clear |
Clear the screen |
help |
help [cmd] |
Show all commands or describe a command |
exit |
exit |
Exit NoNameOS |
🛠️ Tools (24 commands)
| Command | Usage | Description |
|---|---|---|
nano |
nano <file> |
Built-in line-by-line text editor |
calc |
calc <expr> |
Calculator (+ - * / sin/cos/tan/sqrt/log/pow) |
bc |
bc <expr> |
Better calculator (+ - * / % ^) |
cowsay |
cowsay [msg] |
ASCII cow with a speech bubble |
man |
man <command> |
Display manual pages for any command |
cal |
cal [-e|-a|-r] |
Calendar with event support |
rainbow |
rainbow [msg] |
Print text in rainbow colors |
lolcat |
lolcat [text] |
Rainbow gradient text |
yes |
yes [text] |
Print text repeatedly |
sleep |
sleep <sec> |
Pause for N seconds (max 30) |
which |
which <command> |
Locate a command |
alias |
alias [name=cmd] |
Show or create aliases |
unalias |
unalias <name> |
Remove an alias |
su |
su [user] |
Switch user (root/user/guest/admin) |
useradd |
useradd <name> |
Add a new user |
userdel |
userdel <name> |
Remove a user |
users |
users |
Show logged-in users |
banner |
banner [msg] |
Display colored ASCII banner |
fortune |
fortune |
Random programming quote |
factor |
factor <n> |
Prime factorization of a number |
shuf |
shuf <text> |
Randomly shuffle text characters |
sl |
sl |
Steam locomotive animation |
train |
train |
Same as sl |
📝 Text Processing (9 commands)
| Command | Usage | Description |
|---|---|---|
rev |
rev <file> |
Reverse each line of a file |
tr |
tr <file> <f> <r> |
Replace character <f> with <r> in file |
cut |
cut <file> <n> |
Extract first N characters of each line |
paste |
paste <f1> <f2> |
Merge two files line by line |
uniq |
uniq <file> |
Remove consecutive duplicate lines |
nl |
nl <file> |
Number lines of a file |
fold |
fold <file> [n] |
Wrap lines at N characters (default 80) |
basename |
basename <path> |
Strip directory from path |
dirname |
dirname <path> |
Extract directory from path |
📋 Productivity (9 commands)
| Command | Usage | Description |
|---|---|---|
todo |
todo add/list/done/clear |
Task list manager (persistent in VFS) |
notes |
notes <name>|list|rm |
Note editor (persistent in VFS) |
stopwatch |
stopwatch |
Press Enter to start/stop/show elapsed time |
timer |
timer <sec> |
Countdown timer with visual feedback |
pom |
pom |
Pomodoro timer (25min focus / 5min break) |
alarm |
alarm <sec> |
Set an alarm that counts down |
countdown |
countdown <sec> |
Countdown with progress bar (1-600s) |
password |
password |
Generate secure random password (12-20 chars) |
worldclock |
worldclock |
Show times across 6 time zones |
🔄 Converters & Encoding (10 commands)
| Command | Usage | Description |
|---|---|---|
base64 |
base64 <file|text> |
Base64 encode text or file |
rot13 |
rot13 <text> |
ROT13 text rotation |
morse |
morse <text> |
Convert text to Morse code |
roman |
roman <num> |
Convert number to Roman numerals (1-3999) |
binary |
binary <num> |
Convert number to binary |
hash |
hash <text> |
Generate DJB2 hash |
urlencode |
urlencode <text> |
URL-encode text |
urldecode |
urldecode <text> |
URL-decode text |
hexdump |
hexdump <file|text> |
Hex dump with ASCII sidebar |
encode |
encode <text> |
Show ROT13, uppercase, and lowercase |
🧮 Math & Stats (11 commands)
| Command | Usage | Description |
|---|---|---|
calc2 |
calc2 <expr> |
Infix calculator with proper precedence |
bmi |
bmi <weight_kg> <height_m> |
Calculate BMI |
tip |
tip <bill> <percent> |
Calculate tip and total |
stats |
stats <num1> <num2> ... |
Mean, median, std dev, min, max |
random |
random [lo] [hi] |
Random number (default 1-100) |
dice |
dice [n] |
Roll n dice (default 1) |
coin |
coin |
Flip a coin |
scrabble |
scrabble <word> |
Calculate Scrabble score |
age |
age <year> <month> <day> |
Calculate age from birthdate |
datecalc |
datecalc <y m d> +|- <days> |
Add/subtract days from a date |
units |
units <val> <from> <to> |
Convert units (km/mi, kg/lb, C/F, etc.) |
📊 Text Tools (8 commands)
| Command | Usage | Description |
|---|---|---|
wordcount |
wordcount <file> |
Word/line/char count + frequency chart |
diff |
diff <file1> <file2> |
Show differences between two files |
capitalize |
capitalize <text> |
Capitalize first letter of each word |
reverse |
reverse <text> |
Reverse a string |
repeat |
repeat <n> <text> |
Repeat text n times |
bar |
bar <label value> ... |
Draw a bar chart |
sparkline |
sparkline <n1> <n2> ... |
Draw a sparkline |
csv |
csv <file> |
Display CSV as formatted table |
🎨 Fun & Info (17 commands)
| Command | Usage | Description |
|---|---|---|
colors |
colors |
Show all 16 color palette swatches |
cmtheme |
cmtheme |
Show color theme options |
colorgen |
colorgen |
Generate random color with RGB + hex |
palette |
palette |
Generate 10-color palette from seed |
matrix |
matrix [rows] |
Matrix rain animation |
ascii |
ascii |
Random ASCII art |
emoji |
emoji [name] |
Show emoji or list all emojis |
pick |
pick a | b | c |
Randomly pick from options |
zodiac |
zodiac <month> <day> |
Get zodiac sign |
quote |
quote |
Random inspirational quote |
joke |
joke |
Random programming joke |
weather |
weather |
Simulated weather report |
ip |
ip |
Show simulated IP addresses |
uptime2 |
uptime2 |
Detailed uptime with progress bar |
mem |
mem |
Memory usage with bar |
cpu |
cpu |
Per-core CPU usage |
disk |
disk |
Disk usage across mounts |
$ ./nonameos
_ __ _ __ ____ _____
/ | / /___ / | / /___ _____ ___ ___ / __ \/ ___/
/ |/ / __ \/ |/ / __ `/ __ `__ \/ _ \/ / / /\__ \
/ /| / /_/ / /| / /_/ / / / / / / __/ /_/ /___/ /
/_/ |_/\____/_/ |_|\__,_/_/ /_/ /_/\___/\____//____/
═══════════════════════════════════════════
v2.0.0 · Pure C++ OS Simulation
═══════════════════════════════════════════
[━━━━━━━━━━━━━━━━━━━━━━━━━] System ready
✓ NoNameOS v2.0.0 booted successfully
Type help for available commands
↑↓ history ←→ cursor Backspace delete
root@nonameos:/
❯ cowsay
────────
Moo.
────────
\ ^__^
\ (oo)\_______
(__)\ )\/\\
||----w |
|| ||
root@nonameos:/
❯ lolcat
NoNameOS
root@nonameos:/
❯ tableflip
(╯°□°)╯︵ ┻━┻
root@nonameos:/
❯ banner
╔===========╗
║ NoNameOS ║
╚===========╝
root@nonameos:/
❯
| Game | Command | Description | Controls |
|---|---|---|---|
| Snake | snake |
Eat food to grow. Don't hit walls or yourself. | WASD / Arrows |
| Tetris | tetris |
Falling blocks. Clear lines to score. | AD=move W=rotate S=drop |
| Pong | pong |
Classic Pong vs AI. First to 5 wins. | WS=move |
| Breakout | breakout |
Break bricks with a bouncing ball. | AD=move |
| Flappy Bird | flappy |
Flap through pipes. How far can you go? | SPACE=flap |
| Game | Command | Description | Controls |
|---|---|---|---|
| 2048 | 2048 |
Slide tiles to merge them. Reach 2048. | WASD |
| Sudoku | sudoku |
9x9 number puzzle with pre-filled clues. | r c value |
| Minesweeper | minesweeper |
10x10 grid. Find mines without blowing up. | x y to reveal |
| Sliding Puzzle | puzzle |
Classic 15-puzzle. Arrange tiles in order. | WASD / Arrows |
| Lights Out | lightsout |
Toggle lights on 5x5 grid. Turn all off. | r c |
| Game | Command | Description | Controls |
|---|---|---|---|
| Tic-Tac-Toe | tictactoe |
Play against minimax AI. You are X. | 1-9 |
| Connect Four | connect4 |
Drop discs. First to 4 in a row wins. | 1-7 |
| Game | Command | Description | Controls |
|---|---|---|---|
| Wordle | wordle |
Guess the 5-letter word in 6 attempts. | Type word |
| Hangman | hangman |
Guess letters before the figure is complete. | Type letter |
| Trivia | trivia |
5 tech questions. Test your knowledge. | 1-4 |
| Quiz | quiz |
5 random general knowledge questions. | 1-4 |
| Game | Command | Description | Controls |
|---|---|---|---|
| Whack-a-Mole | whack |
Whack moles as they pop up! | 1-9 |
| Typing Test | typing |
Test your typing speed and accuracy. | Type |
| Reaction Time | reaction |
Press key when screen flashes. 3 rounds. | Any key |
| Game | Command | Description | Controls |
|---|---|---|---|
| AsciiDash | play |
Side-scrolling obstacle runner. | SPACE=jump |
| Adventure | adventure |
Dungeon RPG with HP and gold. | left/right/rest |
| Guess | guess |
Guess a number 1-100. | Type number |
| Rock Paper Scissors | rps |
Best-of-7 vs AI. | 1-3 |
| Number Memory | nummem |
Memorize growing digit sequences. | Type digits |
NoNameOS has 25+ hidden easter eggs. Try these:
🥚 Spoiler: Easter Eggs (click to reveal)
| Command | What Happens |
|---|---|
sudo make me a sandwich |
"Okay." |
sudo rm -rf / |
"NUCLEAR LAUNCH DENIED" |
42 |
The Answer to the Ultimate Question |
konami |
Konami Code activated! |
rickroll |
Never gonna give you up... |
hack |
Hollywood-style hacking animation |
disco |
Rainbow disco mode |
dance |
Dancing stick figure |
matrix -r |
"Wake up, Neo..." |
whoami really |
Existential crisis |
lenny |
( ͡° ͜ʖ ͡°) |
tableflip |
(╯°□°)╯︵ ┻━┻ |
dealwithit |
(⌐■_■) |
loading |
Fake loading bar |
glhf |
Good luck, have fun! |
version -a |
Developer stats |
cat /dev/brain |
"You're already using it" |
echo hello world |
Hello, World! greeting |
Create your own AsciiDash maps using ^ for obstacles and _ for flat ground:
cd /geometry
echo mymap.gmd ____^^____^^^^____^___^
play mymap.gmdThe default map jumper.gmd is pre-loaded in /geometry/.
NoNameOS is a goldmine for C++ learners. Here's what each feature teaches:
| Feature | C++ Concept | Real-World Pattern |
|---|---|---|
TerminalGuard |
RAII (Resource Acquisition Is Initialization) | Always restore resources in destructors |
map<string, FSNode> |
STL associative containers | Virtual filesystems, databases, caches |
mt19937 rng{...} |
Modern C++ random | Cryptographic vs. pseudo-random generation |
namespace color |
Namespaces & constants | Avoiding global pollution, naming conventions |
cooked_readline() |
POSIX terminal I/O | How shells actually read input |
| Command dispatch | String parsing & routing | Interpreter design, plugin systems |
cp -r iterator |
Iterator safety | Avoiding undefined behavior with containers |
cmd_bc shunting-yard |
Algorithm implementation | Expression parsing, operator precedence |
has_traversal() |
Input validation | Security: path traversal attacks |
volatile sig_atomic_t |
Signal handling | Async-signal-safe programming |
| ANSI escape codes | Terminal rendering | How htop, vim, tmux draw UIs |
fork()/waitpid() |
Process simulation | Conceptual: how real OS process management works (simulated in NoNameOS) |
Does NoNameOS work on Windows?
No. NoNameOS uses POSIX headers (<termios.h>, <unistd.h>, <fcntl.h>) that don't exist on Windows. However, it works perfectly under WSL (Windows Subsystem for Linux) and Git Bash.
How do I exit?
Type exit or press Ctrl+C. The TerminalGuard RAII class will restore your terminal settings automatically.
Can I save data between sessions?
No. The virtual filesystem is entirely in-memory. When you exit, everything is gone. This is by design — it's a simulation, not a real OS.
How is this different from a real OS?
NoNameOS is a simulation for learning and fun. It has a shell, filesystem, and processes — but they're all implemented in userspace C++ code. There's no kernel, no hardware access, no real multitasking.
Can I add my own commands?
Yes! The entire project is one file. Find the command dispatcher (around line 3153) and add your own else if (cmd == "mycommand") block. Then recompile.
Why is it called "NoNameOS"?
Because naming things is hard. The author couldn't decide on a name, so... NoNameOS it is.
- Linux (Termux on Android, Debian, Ubuntu, Fedora, Arch, etc.)
- A C++ compiler (
g++orclang++) - POSIX-compatible system (uses
<termios.h>,<unistd.h>,<fcntl.h>) - Windows is not supported due to POSIX-only dependencies
| Technology | Usage |
|---|---|
| C++17 | Core language — STL containers, lambdas, structured bindings, optional |
| POSIX I/O | Terminal control via termios, non-blocking input via fcntl |
| ANSI Escape Codes | 256-color and truecolor (RGB) terminal rendering |
| RAII | TerminalGuard ensures terminal state is always restored |
| Single-file Design | Entire project in one .cpp file — zero build complexity |
┌─────────────────────────────────────────────────────────────────┐
│ NoNameOS Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ │
│ │ Terminal I/O │───▶│ Shell (REPL) │───▶│ Dispatcher │ │
│ │ termios.h │ │ cooked_readline │ │ if/else map │ │
│ │ fcntl.h │ │ history, arrows │ │ 251 cmds │ │
│ └──────────────┘ └─────────────────┘ └───────┬──────┘ │
│ │ │
│ ┌────────────────────────────────┼─────┐ │
│ │ │ │ │
│ ┌────────▼───────┐ ┌─────────▼───┐ │ │
│ │ Virtual FS │ │ 40 Games │ │ │
│ │ map<string, │ │ Tetris │ │ │
│ │ FSNode> │ │ Snake │ │ │
│ │ timestamps │ │ Pong │ │ │
│ │ permissions │ │ Wordle │ │ │
│ │ symlinks │ │ ... │ │ │
│ └────────────────┘ └─────────────┘ │ │
│ │ │
│ ┌────────────────┐ ┌─────────────┐ │ │
│ │ System Tools │ │ Easter │ │ │
│ │ nano, calc │ │ Eggs │─┘ │
│ │ cfetch, top │ │ 25+ │ │
│ └────────────────┘ └─────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ TerminalGuard (RAII) — auto-restores terminal on exit │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
| Pattern | Where | Why |
|---|---|---|
| RAII | TerminalGuard class |
Terminal state always restored, even on exceptions |
| STL Containers | map<string, FSNode> |
Virtual filesystem backed by associative containers |
| MT19937 RNG | mt19937 rng{random_device{}()} |
Modern C++ random number generation |
| ANSI Colors | namespace color |
256-color and truecolor RGB terminal rendering |
| Single Dispatch | Line 3153+ | One massive if/else chain routes all 251 commands |
- Single-file C++ project — the entire OS in one
.cppfile - Zero external dependencies — only standard library + POSIX
- Compiles in ~10 seconds on a modern machine
- Runs on anything: Linux, macOS, Termux (Android), WSL
- 43 bugs found and fixed across 5 automated audit passes
- 25+ easter eggs hidden throughout the codebase
- Built with: C++, POSIX, and questionable life choices
| Version | Lines | Games | Commands | Key Changes |
|---|---|---|---|---|
| v2.0.0 | 5,962 | 40 | 251 | 14 games, 20 tools, 10 eggs, 7 effects |
| v1.0.2 | 4,928 | 24 | 149 | 43 audit bug fixes |
| v1.0.1 | 4,561 | 24 | 135 | Arrow keys, cursor movement, easter eggs |
| v1.0.0 | 4,500 | 24 | 135 | 11 new games, 60+ commands, visual overhaul |
| v0.7.0 | 2,500 | 13 | 75 | VFS, games, tools, alias system |
| v0.6.0 | 1,800 | 9 | 55 | 3 games, 18 commands, man pages |
| v0.4.0 | 1,100 | 6 | 35 | 13 new features |
| v0.3.1 | 800 | 3 | 20 | Initial release |
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m "Add my feature") - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
- Add pipe support (
cmd1 | cmd2) - Add a package manager simulation
- Add persistent state across sessions
- Improve the AsciiDash engine with graphics
- Add more trivia questions and quiz content
- Add new games (Tetris Pong variants, puzzles, etc.)
- Add
vimcommand with basic modal editing - Add tab completion for commands and paths
This project is licensed under the GNU General Public License v3. See the LICENSE file for details.
- Anti-Bloatware List - Debloat rooted Android TV sticks
Found a bug? Open an issue. Made something cool? Submit a PR. Just here for the games? We don't blame you.
NoNameOS — because who needs a real OS when you can have 24 games and a terminal that judges your typing speed?