Working with Emacs in an air-gapped environment is not a nostalgic throwback. It’s a deliberate choice. Isolation means control. No incoming data you didn’t ask for. No hidden telemetry. No forced updates breaking your workflow. Just you, the code, and a whitelisted set of trusted files. In a world of constant connectivity, this is freedom.
Running Emacs air-gapped starts with preparation. Before you shut the door to the network, you load your environment with everything it will ever need: packages, themes, documentation, and tools. Every dependency is downloaded, verified, and archived. You burn your init scripts into muscle memory. Then you pull the plug.
Package management is the hardest part. The solution is to mirror and cache every package you trust. Store them locally so you can install and reinstall without hitting external servers. Use package.el with an offline archive, or switch to straight.el with a pre-populated repo. Store docstrings, man pages, and org-mode references in the same vault. With this setup, your Emacs session never needs the internet again.