From Chromebook to Dev Machine - Setting up a Modern GIS & Python Stack
Chromebooks are no longer just for web browsing. With the built-in Linux subsystem, they are now capable of running a professional development environment. This guide walks you through setting up a “Gold Standard” stack: VS Code, Git/GitHub via SSH, Python (via uv), and Containerized PostGIS (via Podman).
1. Enabling the Engine
Section titled “1. Enabling the Engine”First, you need to unlock the ability to run Linux apps on your ChromeOS device.
Open Settings > Advanced > Developers.
Turn on the Linux development environment.
Once the terminal opens, update your package list:
sudo apt update && sudo apt upgrade -y2. Professional Git & VS Code Setup
Section titled “2. Professional Git & VS Code Setup”Don’t settle for the web-based editors; get the full desktop experience.
Install Git: sudo apt install git -y.
VS Code: Download the .deb file (x64 for Intel/AMD, ARM64 for mobile chips) from the official site. Right-click it in your Files app and select Install with Linux.
SSH Keys: Generate a key for secure GitHub access:
ssh-keygen -t ed25519 -C "your_email@example.com"cat ~/.ssh/id_ed25519.pubCopy that output and add it to your GitHub Settings > SSH and GPG keys.
3. The Modern Python Stack: uv and just
Section titled “3. The Modern Python Stack: uv and just”Standard pip and make are fine, but for speed and clarity, we use uv (an extremely fast Python manager) and just (a modern command runner).
Install the Tools
Section titled “Install the Tools”# Install uvcurl -LsSf https://astral.sh/uv/install.sh | sh
# Install justsudo apt install just -yThe Workflow
Section titled “The Workflow”With these installed, you can initialize a project with uv init and use a justfile to automate your chores. Instead of typing source .venv/bin/activate && python main.py, you simply type just run.
4. Running PostGIS with Podman
Section titled “4. Running PostGIS with Podman”Since GIS work requires a database, we use Podman. It is a great “rootless” alternative to Docker that runs smoothly inside the Chromebook’s Linux container.
Install: sudo apt install podman -y
Alias it: Add alias docker=podman to your .bashrc so your existing scripts work without changes.
Spin up PostGIS:
podman pull postgis/postgis5. Putting it All Together: The Genesis Template
Section titled “5. Putting it All Together: The Genesis Template”The ultimate goal is to clone a “Gold Standard” template (like the genesis-template) and be ready to code in seconds.
# Clone your templategit clone git@github.com:your-username/your-template.gitcd your-template
# Sync dependencies and start the stackuv syncjust startYour Chromebook is now a full-fledged GIS development workstation, running a FastAPI backend, a PostGIS database, and a high-speed Python environment.
Key Chromebook Pro-Tips:
Section titled “Key Chromebook Pro-Tips:”- Port Forwarding: When you run a server on port 8000, ChromeOS automatically maps it. You can access it at
localhost:8000in the Chrome browser. - Storage: If you plan on running multiple containers, go to your Linux settings and increase the disk size to at least 20–30GB.


