Skip to content
devcell-shPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

community-home

The shared Nix home environment for devcell cells. This flake defines what a cell's $HOME contains: shells, editors, language toolchains, CLI tools, and the entrypoint glue that adapts it all to the container user at startup.

The layout maps to how devcell composes environments. modules/ holds toggleable capabilities (go, node, infra, graphics, vm, and so on), stacks/ combines them into the image variants a cell can be built from, and hosts/ carries the host-specific bits. packages/ is for things nixpkgs doesn't have or has wrong.

devcell consumes this repo as a flake input: github:devcell-sh/community-home is the default when a cell has no local nixhome configured (override with DEVCELL_NIXHOME_PATH or the [nix].nixhome TOML key). You can also point home-manager at it directly; nothing in here is devcell-specific except the entrypoint.

inputs.community-home.url = "github:devcell-sh/community-home";

Choose stack = "ultimate" for general development, cloud tools, browser automation and desktop support. Choose stack = "bbb" to add the specialist tools formerly bundled with ultimate: electronics/KiCad, Wine/Winetricks, QEMU, Swift, publishing, security/reverse engineering, Inkscape/GIMP and their MCPs, FFmpeg/yt-dlp, Kitty, wxWidgets, the FreeRDP client, the GTK4/WebKitGTK development stack for Wails 3/native UI builds, VPN tooling, and personal-service MCPs (social, travel, news, Plex and chat-completion providers).

bbb includes ultimate. Migrating an existing project that needs the previous tool selection only requires changing [cell] stack = "bbb" and rebuilding. Individual capability modules can also be added with [cell] modules = [...]. For a custom Nix composition, devcell.modules.graphics.inkscape.enable = true adds Inkscape back to ultimate. GIMP uses devcell.modules.graphics.gimp.enable; native UI headers use devcell.modules.desktop.nativeUi.enable, and FreeRDP uses devcell.modules.desktop.rdpClient.enable. These remain enabled by default in the standalone graphics/desktop modules. Kitty and wxWidgets use devcell.modules.desktop.kitty.enable and devcell.modules.desktop.wxWidgets.enable. FFmpeg, yt-dlp, the optional Iosevka/Cascadia Code fonts and terraform-plugin-docs are selected by bbb. MailSlurp and its MCP registration come from qa-tools, also in bbb. Draw.io desktop and its Electron runtime also live in bbb, controlled by devcell.modules.graphics.drawio.enable. Lightweight XML-to-PNG export belongs to the drawio-diagram skill and reuses Chromium; no exporter npm dependency is added to the stack. General terraform-docs, AWS tools, XTerm and VNC/RDP servers remain in ultimate. Other applications retain needed runtime libraries.

Interactive Chromium and Patchright automation share the browser from playwright-driver.browsers. The chromium command keeps its interactive profile, extension and CDP flags; it no longer adds a separate pkgs.chromium distribution. The current pinned bundle reports Chromium 141; the previous interactive build reported 149. Browser version updates now need to update the shared bundle.

The playwright-android MCP server connects to Android Chrome via CDP for mobile browser automation. It uses bare mcp-server-patchright with two env vars that patchright reads natively:

# CDP endpoint (e.g. a remote proxy or local ADB forward)
export PLAYWRIGHT_MCP_CDP_ENDPOINT="https://api-proxy.example.com/android/cdp"

# Auth headers for the CDP connection (optional)
export PLAYWRIGHT_MCP_CDP_HEADERS="X-API-Key: your-key-here"

For local ADB devices, forward the port manually and point the endpoint at localhost: adb forward tcp:9223 localabstract:chrome_devtools_remote then PLAYWRIGHT_MCP_CDP_ENDPOINT=http://127.0.0.1:9223.

The stack split changes future builds; it does not clean the shared Nix store or alter running containers. task test:stacks checks package/MCP boundaries, all stack variants, and that OCI layer hints cannot add unselected packages.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages