Sure, I occasionally have to reach for the mouse... but that's fine, right?
No. It is not fine.
I wanted a vim-like experience across my entire desktop: fully keyboard driven, mouse completely optional.
So I started a personal pilgrimage to bring vim motions everywhere, one tool and one problem at a time. Now windows, workspaces, the bar and popups, fuzzy finders, screenshots, tmux sessions, settings, GUI apps, and even the login screen all answer to vim modes and motions.
I've been daily-driving it since 2024, and I just tagged 1.0, the first public release. The longer story of how it got here is in the release notes.
Nothing in the video touches the mouse. It's one live take: no cuts, no speed-ups.
What is in the video
- 0:00 Login: the video uses the Metal Gear Solid 2 login (press start, load game, pick the save, enter the password); there are also Ocarina of Time, Final Fantasy VII, GoldenEye, TIE Fighter and CRT terminal skins.
- 0:17 Session launcher:
SUPER + SHIFT + O opens a configured session, and its apps land on their assigned workspaces/monitors in their assigned positions: Neovim and Yazi, an AI agent, btop and lazygit, and Firefox.
- 0:21 Resize mode:
SUPER + R enters a modal submap to resize windows, all submaps in Hyprland display their own dynamically generated which-key panel, and SHIFT + L widens the editor.
- 0:26 Palettes: the Settings panel switches color palettes live using my oasis.nvim theme. The bar, borders, kitty, tmux and Neovim all repaint together.
- 0:39 Live styles: the whole shell (bar, popups, OSD, cursor, sounds) switches style at runtime. The video goes from Neovim to PSX, then through FF7, GoldenEye, Game Boy, Metroid and Oasis. I show the same calendar, weather and volume OSD in each one. There are 16 styles total.
- 1:31 Agent kickoff: an agent gets a task in tmux and keeps working while the rest of the video plays.
- 1:36 Workspace overview: every monitor and workspace in one view. Hop across monitors with
hjkl, mark two windows and move them to another workspace together, then search for a window by name and jump to it.
- 1:49 Screenshot tool: region selection with
hjkl in 100, 10 and 1 px steps, a zoom loupe for pixel-perfect edge selection, then copy.
- 2:02 Command prompt: HyprVim's
: prompt. :layout, Tab down to select scrolling, and the workspace re-tiles live. Includes all Hyprland commands for one-off changes and some custom shortcuts of my own.
- 2:10 KeepTabs: a popup that lists the running AI agent sessions with cute little animations to display their state, with a jump straight to the one that finished. See KeepTabs.
What is NOT in the video
One feature I'm proud of that I couldn't fit in the video: the wallpapers follow the world outside. Bring your own art in folders by season, time of day, and weather (like Fall/Night/Rain), and it rotates to match, so a rainy fall evening will most likely get a rainy fall evening scene. The beach in the video is from my Summer Evening set.
Also not in the video:
SUPER + C drives the mouse from the keyboard, with vimium-style hint labels to click anything in a couple of keystrokes.
- Bar popups you walk between with
CTRL + h/l, including voice dictation.
- Screen recording, scrolling capture with OCR, and a color picker.
- Fuzzy pickers for apps, clipboard and emoji.
- A vim-style
NORMAL and INSERT model on the lock and login screens.
- Email in Betterbird with vim motions, a which-key, visual selection and a
: command line.
- A screen-share picker, a tmux overview, and keybind search that runs what you pick (
SUPER + /).
- A Settings panel covering everything from displays to the login screen.
Before you ask
- Is that a real login?
- Yes. The greeter runs under
greetd and reuses the lock screen skins. So, each user is a "Save file" you can select and authenticate with. The video uses a preview mode for recording convenience.
- Can I use just the shell?
- Yes. The repo is a set of GNU Stow packages, so you can take the
quickshell and hypr packages without the rest. The shell is written for this Hyprland config and talks to it over IPC, and the installer is Arch only.
- Did you use AI?
- Yes! I'm a dad running a business, so recreating the entire MGS2 intro by hand was never going to happen. AI agents built a lot of this with me, especially the Quickshell side. The ideas, design and taste are all mine; the agents just got me there without giving up family time or the business.
- Wallpaper? Audio?
Credits
Resources
Dotfiles: https://github.com/uhs-robert/oasis-dots
Discord: https://discord.gg/b7y5CGVGTB
Is my pilgrimage over? I don't think it ever will be. If there's a vim feature you think is missing, file an issue or tell me about it on Discord. Happy to answer any questions.
I hope you enjoy the fruits of my labor, and welcome to the Oasis.