seems to work a lot better

This commit is contained in:
j 2025-08-16 02:10:04 +00:00
parent acaa1eda21
commit 489a3814fd
5 changed files with 70 additions and 43 deletions

View file

@ -1,41 +1,36 @@
A simple method of utilizing Docker for your dev environment. Specifically
designed for use on X11 systems.
# OKAY NERDS LISTEN UP
# Why X11?
I had to make some fucking compromises okay?
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.
## What this Repo is For?
This means that you can define dev environments for specific purposes and then
run them when they are needed.
`base` defines a developer environment. It packages up Git and Neovim into a quick-and-easy docker image.
If that involves opening an IDE or testing a Flutter app then it seems to all
happen as if it's on your machine.
Then you extend upon it to create environments for different purposes. The `flutter` example provided shows how you can maintain the same cozy environment while also being able to test GUI application. This is thanks to two things; x application forwarding and xwayland.
No Qemu, just running binaries in Docker.
## What are the compromises
# Fast & Loose
I can't make it a one-stop-shop thing. You have to mount a few cheeky locations, and it all depends on your configuration, because all of us fucking Linux users have more opinions on sysconf than windows users have spyware.
I'm not using Docker the way that I preech in this.
I had to draw some bloody boundaries, okay?
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.
- Base now only installs ssh/git/yay/nvim and configures nvim
- I expect that you're adhering to XDG shit for ssh socks. IE /run/user/some/shit
- I expect that you have xhost installed.
- I expect that if this throws errors that you figure your own shit out
- I expect that you have ~/.gitconfig configured on your host
- I expect that your ~/.gitconfig just looks at ~/.config/git like it should from fucking factory
- You're welcome to map ~/.config/nvim I dont care.
- Other shit. Read run.sh.
I may keep multiple binaries running in each container.
## What's nice?
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.
It does seem to kind-of "just work".
# Installation
If you're using SSH agent properly on your host then the docker container just kinda
shares that love. Adding keys in container also adds in host because of volume maps
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.
So this whole thing is kinda chill. The only annoying thing is that sometimes
the text in container is blue, sometimes it's white. Depends on your TERM and
COLORTERM variables. I try to set sane variables but I think mapping ~/.bashrc breaks
that.