I host it on an Arm SBC lying in the closet, specifically Radxa Rock 5A (well, the dotfiles mention that much). That said, you don't need your VPS service to offer NixOS provisioning, you can just use nixos-infect
The person who invented the term "open source" simply intended it to be "free software" but in business speak. The fact some random people on the internet thought it means "source available" is not the term's fault.
Here's my example (Github mirror). It stores everything from my custom packages (like GIMP 2.99, which isn't yet packaged in nixpkgs, or a custom virtiofsd to workaround an upstream bug caused by switching from the old C to the new Rust implementation), to my fish, sway, rofi, mpv configs, to my entire server setup, including Gitea, Nextcloud, Keycloak, Mumble, mailserver and Matrix server with some bots and bridges (I recently migrated from an x86_64 to a arm64 board and the only post-install setup I had to do was copy /var), to my router's nftables rules.
Does your board support UEFI? Have you flashed it, if necessary? If not, your only option is board-specific image with board-specific U-Boot. Still, you may have some luck with mainline kernel after you flash that image.
Assuming you've flashed UEFI and know how to work with it, you should IMO install mainline images whenever possible, as those will always have the Linux kernel with latest security patches (you shouldn't use LTS kernel before you've verified the very latest kernel version, unless your board is like 10 years old)
However, mainline Linux is often missing certain features on certain boards. In that case, you may have to either load some dtb/.dtbo files (it's a way to specify hardware information at boot time), or, worst case, compile your own kernel with certain patches pulled from developers working on mainlining your board
If you don't want to deal with all that, you can use premade images for your board. They will typically have an old kernel, but nonetheless it should Just Work™. You may still have to pick some .dtbs manually if your hardware is configurable enough (e.g. BPI-R3 has SD/EMMC switch, you can't use both at the same time, and you have to pick the specific .dtb file depending on what you use)
NixOS is a general purpose distro (I use it on my router, server and laptop, and plan to install it on my phone, it doesn't get any more general purpose). To run packages that aren't in its repo, you write a package yourself. Note that unlike on traditional Linux systems, there's essentially no concept of "installing" packages. Packages are built and put into /nix/store, then you can optionally add them to your system packages or user packages and they will be symlinked to /run/current-system/sw or ~/.nix-profile, but there's nothing preventing you from just using the package without adding it to system/user packages.
executable ownership doesn't matter, what matters is the rights of the user running the binary, and whatever sandboxing you have configured. So use Flatpak or Firejail.
Input/output error means the drive is just dying, irrespective of the software. Software can't do anything about failing hardware, and that's what you ran into.
for example, when you need to copy some files and not the other, you can take your time selecting the specific files you need to copy instead of writing the list of files in one command. When you want to check the contents of a lot of files, you can just open file preview. Etc, basically sometimes CLI isn't as convenient as TUI/GUI
You can use Tesseract for OCR and any engine for translation. That said, in my experience there are much better OCRs than tesseract, but you gotta surf Github/Huggingface for that.
bruh what are you talking about, there are indeed national root certs but that's purely for Sberbank and similar government sites, I wouldn't put it past them to go further but we're a loooooong way off
I host it on an Arm SBC lying in the closet, specifically Radxa Rock 5A (well, the dotfiles mention that much). That said, you don't need your VPS service to offer NixOS provisioning, you can just use nixos-infect