In an EPIC bout of yak-shaving I have reduced the build time for this static site infrastructure running on a puny VPS by a factor of 5. Come along on this undiagnosed journey.
Anatomy of a yak-shave:
- See what had happened was...
- I wanted to put animated snowflakes on my site
- Learned about CSS animation, nice
- Learned how to not bork screen readers
- Remembered I barely got my CI/CD working with Forgejo runner
- Remembered it takes for ever to deploy
- Realized most of it is just downloading and setting up dependencies
- How hard can it be to bake all that into my own image?
- Oh Forgejo supports a container registry too, nice!
- If I can't quickly build and push an image then this will have to wait
- Oh wow, that was really easy
- False sense of how well things are going
- All the freaking examples are for using public forges with public container registries
- Fall down several totally wrong rabbit holes due to lack of knowledge
- Have not stood up, eaten, drank, blinked in hours by this point
- Things are kinda working, yay! Noooo version mismatch
- I barely know Nix flakes, how do channels work, how do you pin them?
- Realized my tools have been broken but flake.lock has been saving me, nice!
- Fatigue related silly errors and utter faith this attempt will work so I don't need to make a quick test setup and test on a much faster setup
- Revert back to how it was, drink water, oh wait silly me...
- Victory
- Should probably write a blog post, it'll be SO fast to deploy
