Hey everyone
I wanted to share a project I’ve been working on called AvyOS.
What is AvyOS?
AvyOS is a Linux-based operating system that keeps the Linux kernel, but replaces most of the traditional userland with a new implementation written in Go.
Instead of building on top of existing GNU/POSIX components, the goal is to experiment with alternative designs for core parts of the system.
I also make sure the code is easy to read, write, and manage. It’s all written in Go.
What changes I’ve made
1. New userland (written in Go)
Instead of using GNU tools or POSIX-based utilities:
- most core tools are written in Go
- no libc / coreutils / busybox
- not trying to follow POSIX strictly
The idea is to keep things simple and easier to build and maintain.
2. New filesystem layout
Instead of the usual /usr, /etc, /var mix, AvyOS uses a cleaner layout:
/avyos→ system core (read-only)/avyos/cmd→ commands (nodev, nosuid) (run as user)/avyos/apps→ System defaults apps (nodev, nosuid) #containerized/avyos/services→ System services (nodev,nosuid) privileged dedicated user,/avyos/config→ system default config (noexec, nodev, nosuid) ini/json only configs/avyos/data→ like /usr/share, (nodev,noexec,nosuid)/apps→ installed apps/config→ modifiable configs/users→ users home directories/cache→ temp/runtime data/cache/kernel/→ kernel pseudo filesystems (processes, devices, shared, sysfs)/cache/runtime/→ like /run
This makes it easier to understand, capabilities separated, and more organised.
3. Read-only system core
The main system (/avyos) is read-only with modifiable counter-parts at /
4. Services instead of direct access
Apps are not supposed to touch system resources directly. instead use access controlled services.
5. Sutra - Decentralized IPC
Its one of the main component, its like DBus but decentralized, means no single bus, but each service expose there address via sockets, and clients talk to services via Sutra protocol.
6. New graphics system and display protocol
No X11 or Wayland or mesa, yeah no GPU for now! I have created a new graphics framework and display protocol,
8. Optional Linux compatibility
To still run normal Linux apps, a Linux environment can run inside /linux isolated from main system and not required, but available.
Screenshots
(will update as UI improves)
Desktop
Terminal
If anyone wants to try it or take a look, feel free. I’m open to questions, feedback on design, or anything that doesn’t make sense.

