N E X S O S
ONEX is a project that conjures up a fully simulated userland environment right within your Linux terminal. Think of it as a playful yet powerful mini-operating system that lives inside your terminal session, complete with its own virtual filesystem, an interactive file manager, and a curses-based user interface that’s both retro and refined.
- Simulated Environment: Dive into an interactive shell experience with a self-contained filesystem.
- File Manager: Navigate and manage your files through a snappy TUI (Text User Interface).
- Virtual Filesystem: A UNIX-style structure with mount points linking to your actual filesystem—think of it as a sandbox with a door.
- User Management: Authentication and user profiles add a dash of realism.
- Shell Compatibility: Plays nicely with your favorite Linux shells.
- Terminal UI: Powered by curses—classic vibes, modern purpose.
-
Python 3.6 or higher
-
A Linux-based OS
-
Required libraries (automagically installed by the bootloader):
cursespyfigletpsutilquestionarycoloramapillowtqdm
-
Clone the repository:
git clone https://github.com/yourusername/onex.git cd onex -
Launch the system:
python run.py
The bootloader will handle dependency checks and installations for you, like your own personal sysadmin elf.
/onex/
├── run.py # Main entry point
├── README.md # Documentation, this very guide!
├── bootloader/
│ └── boot.py # Startup handler
├── src/
│ ├── main.py # System coordinator
│ ├── graphics/
│ │ ├── ui.py # User interface layer
│ │ └── graphics.py # Graphic utilities
│ ├── scripts/
│ │ ├── 01.sh # System utility scripts
│ │ └── 02.sh # Virtual filesystem management
│ ├── system/
│ │ ├── shell_compatibility.py # Shell integration layer
│ │ └── input.py # User input handling
│ └── userland/
│ ├── userland.py # Core userland system
│ └── file_manager.py # Interactive file manager
└── userland_fs/ # The simulated filesystem
├── bin/
├── etc/
├── home/
├── usr/
├── var/
├── tmp/
└── mnt/
└── system/ # Mount point for the real filesystem
Once ONEX is up and running, you're ready to engage with your simulated shell environment:
- Navigation: Use familiar commands like
cd,ls, etc. - File Manager: Type
run filemanagerto launch the interactive file explorer. - Program Execution: Run executables just like in any real Linux setup.
- System Utilities: A suite of built-in commands for managing your simulated world.
- Exit: Type
exitto gracefully shut down the experience (sad, but necessary).
The TUI file manager responds to your keystrokes with old-school flair:
- Arrow Keys: Move around files and directories
- Enter: Open a file or step into a directory
- Esc/Backspace: Move up one directory
- F5: Refresh the view (always satisfying)
- F1: Summon help (you’re not alone!)
- F10 or Q: Exit the file manager
-
Boot Process:
run.py→bootloader/boot.py→src/main.py→src/userland/userland.py
-
Execution Flow:
- Check environment and permissions
- Detect system and current user
- Install any missing dependencies
- Initialize the virtual filesystem
- Launch userland
- Engage with the user
-
Virtual Filesystem:
- UNIX-like directory hierarchy
- Everything lives inside
userland_fs - Mount point for real system access included
Want to contribute? We welcome your magic:
-
Fork the repository
-
Create your feature branch
git checkout -b feature/amazing-feature
-
Commit your changes
git commit -m 'Add some amazing feature' -
Push to your branch
git push origin feature/amazing-feature
-
Open a Pull Request — and voila!