# Ultimate dev environment for Playwright NixOS VM tests

**URL:** https://discourse.nixos.org/t/ultimate-dev-environment-for-playwright-nixos-vm-tests/80023
**Category:** Links
**Created:** [September 10, 2026, 6:31am UTC](https://discourse.nixos.org/t/ultimate-dev-environment-for-playwright-nixos-vm-tests/80023 "2026-09-10T06:31:18Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![ibizaman](https://discourse.nixos.org/user_avatar/discourse.nixos.org/ibizaman/32/6154_2.png) [@ibizaman](https://discourse.nixos.org/u/ibizaman)
#### Post date: [September 10, 2026, 6:31am UTC](https://discourse.nixos.org/t/ultimate-dev-environment-for-playwright-nixos-vm-tests/80023/1 "2026-09-10T06:31:18Z")

</div>

> **[ibizaman's Blog - Ultimate dev environment for Playwright NixOS VM tests](https://blog.tiserbox.com/posts/2026-09-09-ultimate-dev-environment-for-playwright-nix-os-vm-tests.html)**

---

<div class="post-metadata">

### Author: ![lukeweston1234](https://discourse.nixos.org/user_avatar/discourse.nixos.org/lukeweston1234/32/37652_2.png) [@lukeweston1234](https://discourse.nixos.org/u/lukeweston1234)
#### Post date: [September 13, 2026, 7:36am UTC](https://discourse.nixos.org/t/ultimate-dev-environment-for-playwright-nixos-vm-tests/80023/2 "2026-09-13T07:36:41Z")

</div>

Nice write-up. Can I ask why this path and not for instance the `driverInteractive` workflows?

---

<div class="post-metadata">

### Author: ![ibizaman](https://discourse.nixos.org/user_avatar/discourse.nixos.org/ibizaman/32/6154_2.png) [@ibizaman](https://discourse.nixos.org/u/ibizaman)
#### Post date: [October 5, 2026, 6:21pm UTC](https://discourse.nixos.org/t/ultimate-dev-environment-for-playwright-nixos-vm-tests/80023/3 "2026-10-05T18:21:18Z")

</div>

I thought about what to answer for a while actually. TBH I don’t have a good reason. My project had already this VM flow for the demos so it felt natural to re-use it. And it gave me a reason to revamp them and create more. Which is tedious and annoying to do otherwise. So it felt like a win-win situation.

I see two possible usages of driverInteractive here. First, having actually the test spawn a VM with a window manager and a browser spin up automatically. It would avoid the need to setup the ssh SOCKS5 proxy but at the same time working inside the VM is not the best experience IMO. For starters, I always have issues for copy pasting to the host.

Another way is to run the same config as for the demos, here with the ssh backport. So depending on if we were interactive mode, we could have two different configs. That would work too. We should somehow disable running the test there. But I suppose it would work.

Were you thinking of something else maybe?

Note that the most important property for me was interactivity with the machines so I could play around with the UI and see how that reflected on the backend. Working from outside the VM felt more natural to me.
