2025-07-26 00:04:42 +10:00
|
|
|
A simple method of utilizing Docker for your dev environment. Specifically
|
|
|
|
designed for use on X11 systems.
|
2025-07-25 23:57:23 +10:00
|
|
|
|
2025-07-26 00:04:42 +10:00
|
|
|
# Why X11?
|
|
|
|
|
|
|
|
X11 runs a server which allows you to pass through windows. Kind of like x
|
|
|
|
forwarding with SSH I supposed, except you pass through all the sockets and
|
|
|
|
shit.
|
|
|
|
|
|
|
|
This means that you can define dev environments for specific purposes and then
|
|
|
|
run them when they are needed.
|
|
|
|
|
|
|
|
If that involves opening an IDE or testing a Flutter app then it seems to all
|
|
|
|
happen as if it's on your machine.
|
|
|
|
|
|
|
|
No Qemu, just running binaries in Docker.
|
|
|
|
|
|
|
|
# Fast & Loose
|
|
|
|
|
|
|
|
I'm not using Docker the way that I preech in this.
|
|
|
|
|
|
|
|
I use Dockerfiles to define each dev env so that I don't have to actively
|
|
|
|
maintain it on my machine. I keep this repo on my home machine but also my work
|
|
|
|
machine, so that when I keep configurations in sync easily.
|
|
|
|
|
|
|
|
I may keep multiple binaries running in each container.
|
|
|
|
|
|
|
|
None of this is really how you're meant to use Docker however it's a nice,
|
|
|
|
simple method of achieving what Snap and Flatpak sort-of tried to achieve in
|
|
|
|
some ways.
|
|
|
|
|
|
|
|
# Installation
|
|
|
|
|
|
|
|
Clone repo.
|
|
|
|
|
|
|
|
Populate configuration files in base for git, nvim and tmux.
|
|
|
|
|
|
|
|
Build and run base.
|
|
|
|
|
|
|
|
You can map your configuraitons or whatever. I like to build them into the
|
|
|
|
images, because my vim confs get pretty weighty.
|