What islaOS is made of Join the waitlist

The whole desktop,
grown out of one island.

The coming islaOS image is NixOS and Hyprland with Isla on top, the desktop I built. Isla runs every day on my desk. Try it below, in your browser.

Join the waitlist for the first islaOS image. It is not out yet.

Demo in your browser

The windows and data are invented. Nothing here runs Isla or touches your computer.

Isla at restA clock where a notch would be

Scroll the pill or click it. Press / or open Features for the map of every feature, and pick one to play it here.

Map in IslaSuper/

What islaOS is made of

  1. NixOSThe base: one configuration declares the whole machine.
  2. HyprlandThe compositor: windows, workspaces and input.
  3. IslaThe desktop: the pill and everything it grows into, from the launcher to the lock screen. Runs today
  4. islaOSAll three on one image you install. Coming

islaOS is meant for people who want a finished Hyprland desktop on NixOS without writing the configuration first, new to NixOS or not, and who can still open it and change anything.

Hyprland places your windows. Isla draws the rest of the desktop.

Isla's artwork: the pill open on Spotify, hanging from the top edge of a blue field, above the Isla wordmark and the line Desktop shell for Hyprland.

It rests as a clock. Swipe it for glances.

At rest the pill is only the time, with the album and a small wave while music plays. Hovering does nothing unless you ask it to. Workspaces stay off the island and flash for a moment when you switch, or stay on if you turn them on.

Drag the pill sideways or scroll on it to page through glances: Home, Calendar, Timer, Media, Lyrics and Weather, then System, VPN, Tailscale and NixOS when they are set up, and your coding agents while they run. Click one to open its card, right-click it for quick actions, hold it to reorder or hide glances.

Pull a glance down and it pops out as a live bubble beside the pill: the timer keeps ticking, the lyrics keep moving. Click the bubble and it grows into its card right where it is.

Drag or scroll the pill. Click, right-click, hold, or pull it down.

Messages arrive as glances. Answer them there.

A notification slides in as a temporary glance and slides back out after a few seconds. Missed it? It waits in Pending, at the end of the carousel, with everything else you have not read.

Slack and WhatsApp messages take a reply right in the notification. Type, press Enter, and it goes out through the app without opening it.

When you are busy in an open app, nothing jumps in front of you: the message peeks out from behind the pill as a small ear, then tucks back in, and waits in Pending.

Sample messages from invented people.

SuperI

Click Home: the panel.

On the Home glance, a click opens the panel, and Super+I or a double tap of Super opens it from anywhere. It is Isla's hub: the clock and the weather, network, sound and Bluetooth, whatever is live right now, what is playing, a tile for every glance, Isla's apps, the tray and your latest notifications. The pill keeps only what is live.

Right-click an app in the tray and its menu opens inside the panel, drawn by Isla. Every app's menu looks the same: rows on the island's surface, hairline separators, a check next to whatever is on.

A submenu takes the menu's place with a back row instead of cascading off to the side. Esc goes back one level, a click outside closes it.

Right-click Slack in the tray.

SuperSpace

A pill on every screen.

Each monitor gets its own island with its own glances, or one carousel kept in sync on all of them. Switch workspaces and the strip flashes on the screen you are using, then the clock comes back.

Pin expanded pill, in Home's quick actions, keeps the expanded pill at rest: the date, the clock and the weather, or any mix of your next event, media, workspaces, network and sound you pick. Unpin it and it rests as the clock.

Super+Space switches the keyboard layout and says so in the pill, as do the volume and microphone keys. When a window asks for attention, the pill of its monitor says which app it is.

Two monitors, each resting as a clock.
Play in the demo

SuperS

Spotify, drawn by Isla, with lyrics that keep time.

Super+S opens a Spotify client the island draws itself: now playing, search, playlists, albums, artists, liked songs, the queue and your devices. Press play in Isla and the music plays here, even if a phone had it a minute ago.

It opens where you left it, down to the page, the sort and the row you had selected, even after a restart. Long libraries get a fast scroll bar with an index bubble, and only the rows in view are ever drawn.

Synced lyrics come from LRCLIB. They follow the song in the player and in a view of their own, and the Lyrics glance keeps the current line on the pill, or in a bubble beside it while you work.

Sound comes from spotifyd, a Spotify Connect daemon written in Rust that idles at about 95 MB of memory. The official app never has to be installed.

SuperA

Slack, redrawn in Isla's own design.

Super+A grows the pill into Slack. It runs inside the shell, and Isla restyles all of it with its own design system: the same surfaces, type, menus and accent as the rest of the island, in light and dark.

Huddles live on the pill. An invite rings with Answer and Decline, and a huddle in progress stays at the front of the carousel with its timer. Share your screen and Isla asks which monitor, window or region, in its own picker.

Spell check reads Brazilian Portuguese and English at once, and a right-click on the page opens Isla's menu instead of the browser's.

Sample workspace and people, not real ones.

SuperW

WhatsApp, inside the pill.

Super+W grows the pill into WhatsApp Web. It runs inside the shell, not in a browser window, and Isla repaints it in the active theme: your accent instead of WhatsApp green, and no rail, banners or promos.

Ctrl+B folds the chat list away so the open chat gets the whole panel, with your four most recent chats up in its header. Ctrl+K opens a switcher: type a name, press Enter.

Voice and video calls work, spell check knows Portuguese and English, and the right-click menu is Isla's. Close the panel and WhatsApp keeps running, so messages still arrive, ready for a reply.

Sample chats, not real conversations.

Attach from the pill, not a dialog.

Press + in a WhatsApp chat and a second panel docks under the WhatsApp one, joined to it like a drop. It holds only what the chat accepts, here photos and videos, newest first.

Picks are numbered in the order you make them, and Attach sends them in that order. WhatsApp never closes, so the conversation stays in view the whole time.

Sample chat and files.

SuperAltC

Your next meeting, counting down on the pill.

The Calendar glance shows what is next, and its card lists today and tomorrow. Super+Alt+C opens the whole calendar: agenda, week and month, event details, quick add and replies to invites.

Ten minutes before a call the pill starts counting down. Two minutes before, the waiting room opens with who accepted and a Join button (Super+Alt+J). Running late, it says by how much. Once you join, the meeting stays on the pill with the time until it ends.

Google accounts come from GNOME Online Accounts: sign in there once and your work and personal calendars show up together. Isla keeps a copy, so your day is still there offline.

Sample events and people, not real ones.
Play in the demo

SuperE

Isla Files and Isla Viewer, grown out of the pill.

Super+E stretches the pill into a full window: your places down the side, a path bar on top, and the folder as a list or a grid. Right-click for a menu, walk it with the arrow keys, press Ctrl+L to type a path.

Space shows any file large without opening an app. Start typing and you are already searching. Files gathered on the shelf move together, and printers and scanners on the network just work.

Open a picture or a video and the island grows into Isla Viewer: the file with its folder in Isla Files' order, zoom for pictures, the controls and sound for videos, and Info for both. The player decodes everything in its sandbox, never in the island.

Underneath is isla-files, a core written in Rust for Isla. It lists and watches folders, copies and moves with conflict handling, keeps the freedesktop Trash and thumbnails, searches names and contents, prints over IPP and scans over eSCL. The QML on top only draws what it reports.

Sample files, not anyone's real home.
Play in the demo

Print

Press Print. The pill becomes Capture.

The screen freezes and the island turns into Capture's bar with Area armed: drag across the screen for a region, or click a window. The shot is copied and saved to Pictures/Screenshots in one go, and arrives on the pill thumbnail first. Super+Shift+S does the same.

Switch the bar to Record for a region or the whole monitor. Recordings take the system's sound by default, or the microphone, or both, and the pill keeps the time until you stop.

The same bar draws on the screen with Annotate, picks a color under a zoom lens and reads the text out of any region. Edit opens a shot in Isla's own editor, to crop it and pixelate what should stay private.

Then drag across the screen, or click a window.
Play in the demo

SuperShiftW

Wallpapers that move, and stop when nobody is looking.

Isla draws the wallpaper itself, one layer per monitor. Pick an image from your folder, search Wallhaven without leaving the island, or set one of four shaders it draws on the GPU: Drift, Aurora, Mesh and Tide.

Videos play too, your own mp4, webm and mkv files or Wallpaper Engine videos from the Steam Workshop, searched inside Isla. Wallpaper Engine itself never runs. Each video is decoded in a sandboxed player that cannot see your files, the network or the screen, and its frames reach the island without a copy.

A moving wallpaper pauses behind windows that fill the monitor, maximized or fullscreen. It stops while a game runs, freeing the decoder and its video memory, and pauses while the screen is locked, in Power saver and under reduced motion. Shaders run at 30 fps unless you pick 24, 60 or the display's rate; videos play at their own rate, or capped at 30.

Playing, 30 fps on DP-2.

Dark, light, or a theme of your own.

Dark is the default: the island on pure black. Light makes everything light, the resting pill included, and Automatic switches along with the system's light and dark toggle. Palette takes the island's colors from Isla's own palette: a built-in one, or one generated from your wallpaper.

Isla writes that palette for the rest of the desktop too. Hyprland's borders change at once and GTK apps follow light and dark; Ghostty and btop, and Kitty, Helix and Qt once you turn them on, get an Isla theme they load on their next start.

Your own themes are small JSON files. Give a background and a text color and Isla derives the rest, keeping every line of text readable. Save the file and the island changes at once, Slack and WhatsApp included.

Interface size, text size and how large notifications open are settings of their own, one step at a time.

App icons, redrawn for the pill.

The Isla icon theme draws 25 apps again as black tiles with each brand's mark in its own color, so the tray, the launcher, notifications and the dock all match the dark island.

  • Files
  • WhatsApp
  • Spotify
  • Slack
  • Firefox
  • Google Chrome
  • Ghostty
  • Visual Studio Code
  • Zed
  • Obsidian
  • Discord
  • Thunderbird
  • Steam
  • SoundCloud
  • YouTube Music
  • Instagram
  • X
  • ChatGPT
  • Gemini
  • Paseo
  • Keychron
  • Solaar
  • Telegram
  • NordVPN
  • Sunshine
Play in the demo

SuperC

The Control center grows out of the pill.

Super+C opens nine quick toggles and the volume and brightness sliders. A tile's arrow opens its page: Wi-Fi networks and their passwords, Bluetooth pairing, every output and app stream of the sound, the power modes, brightness per monitor and Night light from sunset to sunrise.

Keep awake holds the screen on for as long as you choose. Game mode turns on Do not disturb and Performance, keeps the pill minimal and drops animations and blur. Restart and Shut down ask first, with a ten second countdown you can cancel.

Deeper settings live in one Settings app (Super+Shift+,): resolution, scale and refresh rate per monitor, put back after 15 seconds unless you keep them, the lock and idle times, the keyboard and your location.

Try Dark mode or Night light.

Change the configuration. Press Switch.

With your switch command set, the NixOS card builds this computer's configuration and switches to it. The pill follows the build while you keep working: evaluating, downloading, building. Before anything changes it asks for your password, in Isla's own prompt, then activates.

When it ends the card says what happened: the new generation is active, which services did not start, or that the switch failed, with its log a click away.

Coming islaOS updates arrive with the first image. Today Switch builds your own configuration, and its inputs move when you move them.

Switchingbuilding 412 of 1203
NixOSSwitched at 09:12

Builds this computer's configuration and switches to it. It asks for your password before anything changes.

Switch
Play in the demo

Coming

The first islaOS image.

One image to install: NixOS, Hyprland and Isla, set up as I use them every day. You will get your own NixOS configuration, open to read and change, and Switch will rebuild it. It is not out yet, and it has no date.

Runs today: the Isla desktop

  • The whole desktopEvery feature on the map above, from the pill to the lock screen.
  • NixOS and Home Manager modulesTurn Isla on in a configuration and it takes over the Hyprland session.
  • Hyprland, set upIsla's binds and window rules come with its module.
  • Rebuilds from the pillThe NixOS card's Switch, once you give it your switch command, your password asked first.
  • Untrusted files in a sandboxVideos and the thumbnails of videos and PDFs decode in bubblewrap with seccomp and Landlock.

Coming With the first islaOS image

  • An installable imageNot out yet: no ISO and no installer.
  • First boot setupToday accounts and the configuration are set up by hand.
  • Updates for islaOSToday the flake's inputs move by hand, then Switch.
  • Hardware supportIt starts with the machines I test it on. Today the System view's GPU reading is NVIDIA only, and laptops get no battery view.
  • A login screenToday Isla draws the lock screen; signing in is another program's.

The waitlist gets one email, when the first image is out. Nothing else.

As smooth as your screen.

The island and the Slack and WhatsApp pages draw at the monitor's refresh rate: 240 frames a second on a 240 Hz screen, where every view used to stop at 60. Each monitor keeps its own pace.

When nothing moves, nothing is drawn, and only the window that animates redraws: a pulse on one monitor never wakes the other, or the wallpaper behind it. Idle, the island's CPU use stays at zero.

The springs, the waves, the lyrics' timing, the scroll bars and the wallpaper's clock step in native C++, not in script.

Width, height and radius each follow a damped spring solved in closed form against the real frame time, so the motion is the same at 60, 155 or 240 Hz. Opening, the height overshoots a little (response 0.50 s, damping 0.72). Tucking back in, it settles firmly (0.40 s, 0.88).

Slack and Spotify in the pill, at less than half the memory.

With both open, Isla's Slack and Spotify take about 540 MB. Slack's desktop app and Spotify in Chrome take about 1,220 MB, and that is before Spotify in Chrome is even signed in.

Spotify gains the most: Isla draws it natively and leaves the sound to a small Rust daemon, where the others load a whole browser for it. Slack is a web page in both, but one engine in the shell weighs less than an Electron app around it.

Slack

Both signed out, on Slack's sign-in screen.

  • Isla ~430 MB~430 MB0.0% CPU0.0% CPU
  • Slack desktop app ~655 MB~650 MB0.0% CPU0.0% CPU

Spotify

Isla signed in with nothing playing. Chrome and the desktop app signed out, so theirs is the least they use.

  • Isla, with spotifyd ~105 MB~105 MB4.8% CPU0.0% CPU
  • Spotify in Chrome ~570 MB~570 MB0.4% CPU0.3% CPU
  • Spotify desktop app ~540 MB~540 MB0.1% CPU0.1% CPU

Memory is PSS over every process an app starts (Isla's Slack includes its browser engine), CPU is one core's share over 30 s, idle, on NixOS. Measured before the Slack redesign and the move to the screen's refresh rate: Slack is still one web page in the shell's engine and Spotify still a native view with spotifyd, but the exact numbers may have moved since. WhatsApp is not shown: in the pill it uses more than in Chrome.

One island.
The whole desktop.

Isla runs on my desk every day. The first islaOS image will put it on one USB stick with NixOS and Hyprland, and it is not out yet. Leave your email and I'll write when it is.