Hacker News new | ask | show | jobs
by sabrehagen 2023 days ago
I automated my desktop environment configuration using Docker containers. I'm able to go from a headless tty to perfectly tailored desktop environment in ~2.5 seconds. First time start requires a ~40 min build, byut thereafter ~2.5s to start afresh. https://github.com/sabrehagen/desktop-environment

I did the same think for my production application environment. One command to go from no infrastructure to production grade cloud application deployment. https://github.com/cloud-computer/cloud-computer

7 comments

I have done this[0] to varying extents for different distros, though I've been distrohopping a lot lately and the scripts haven't quite caught up. I have a similar set of scripts used to provision workstations and servers in my lab.

I find that having a fully automated setup makes tech problems much less stressful. If something breaks, I can just re-install the system from scratch and be up and running again in an hour or two. It also makes changing hard drives or setting up a new machines very straightforward.

0 - https://git.sr.ht/~charles/provisioning

Aaah, that’s the dream! The best part of Linux workstation is setting it up perfectly, in a way that completely blows away everything else on your personal workflows. And the worst part is doing it again.

I use mostly macOS now but I’ve been thinking about using my desktop for work now that WFH and all that, so I need to embark on the Linux journey and this looks like a great starting point.

I did try Nix once but it was hard to love.

Edit: and hey you package Notion :)

That's pretty interesting! I'm also using a CI-built Docker image add my development environment. But this one is less ambitious than yours by being CLI-only

https://bergie.iki.fi/blog/docker-developer-shell/

I don’t mean to sound snarky, but why? Is this for your personal desktop or something else?
My personal desktop. For repeatability.
That's remarkable! I don't think I've seen anyone else even try to run X itself in docker. Thanks for sharing:)
Does this mean your entire desktop environment is a Docker container? Or are you using the docker container to setup on the host?
No, not on the host. The containers run on the host and provide the environment. They are isolated from the host.
This is really cool, thanks for sharing. Very elegant.