For offline documentation, I use these in order of preference:
• Info¹ documentation, which I read directly in Emacs. (If you have ever used the terminal-based standalone “info” program, please try to forget all about it. Use Emacs to read Info documentation, and preferably use a graphical Emacs instead of a terminal-based one; Info documentation occasionally has images.)
• Gnome Devhelp².
• Zeal³
• RFC archive⁴ dumps provided by the Debian “doc-rfc“ package⁵.
Each downtime is an opportunity to learn the weaknesses of your own system.
There are certain scenarios you have no control over (upstream problems), but others have contingencies. I enjoy working out these contingencies and determining whether the costs are worth the likelihoods - and even if they're not, that doesn't necessarily mean I won't cater for it.
When my rental was damaged by a neighbouring house fire, we were kicked out of the house the next day. This was a contingency I hadn't planned well for.
I have long thought that I need my homelab/tools to have hardcases and a low power, modularity to them. Now I am certain of it. Not that I need first world technology hosting in emergency situations, but I am now staying with family for at least a few weeks, maybe months, and it would be amazing to just plonk a few hardcases down and be back in business.
> and NixOS is unusable offline if you do not host a cache (so that is pretty bad).
I think a cache or other repository backup system is important for any software using package managers.
Relying on hundreds if not thousands of individuals to keep their part of the dependency tree available and working is one of the wildest parts of modern software developmemt to me. For end use software I much prefer a discrete package, all dependencies bundled. That's what sits on the hard-drive in practice either way.
But yeah, things like NixOS and Gentoo get very unhappy when they don't have Internet for more things. And mirroring all the packages ain't usually an option.
You can reverse resolve Nix back down to just the source code links though, which should be enough to build everything if those URLs are available on your local network.
Nixos is perfectly usable without an Internet connection. I've never encountered an issue, and in fact I've joked with my wife that considered as an overall end-to-end system (i.e. including the Internet dependency), my jellyfin instance gets better uptime than something like Spotify would.
You can't install or update new software that you'd pull from the web, but you couldn't do that with any other system either. I can't remember specifically trying but surely if you're just e.g. modifying your nginx config, a rebuild will work offline?
having a .zip of the world, also helps, even though being a lossy one. i mean - always have one of the latest models around, ready for spin. we can easily argue llms are killing the IT sphere, but they also are a reasonable insurance against doomsday.
Or few days. But I can also imagine being power independent with your own robotry to sustain even longer power offs. But you’ll also need be very well hidden as society likely collapses in matter of days if this ever happens.
It raised some interesting questions:
- How long can I be productive without the Internet?
- What am I missing?
The answer for me was I should archive more documentation and NixOS is unusable offline if you do not host a cache (so that is pretty bad).
Ultimately I also found out self-hosting most of what I need and being offline really improve my productivity.