Organizing data and backup strategy | Software development workflow

Previously on Linux, I kept all my files and folders in a single partition with organized directories like:

/DATA/Projects
/DATA/Docs
...

Now with Qubes OS, I have individual AppVMs for each activity, which means my /DATA/Projects folder is fragmented across different VMs (and their partitions). I’m trying to determine the best practices for organizing this setup.

Challenge 1: Development Workflow

I do software development in air-gapped VMs with internal Git repositories. Periodically, I need to publish builds to the internet (GitHub, production servers). Since I can’t simply give these VMs internet access, I currently use qvm-copy to transfer files to another qube for publishing. This is cumbersome, and I often need to copy results (like the .git directory after pushing) back to the development VM.

One alternative would be using a separate partition mounted to both my-vm-dev and my-vm-publish as needed, though this raises security concerns.

Challenge 2: Backup Organization

While qvm-backup/qvm-restore provide full image-like backups, my data (Projects, Docs) remains fragmented rather than organized in a unified tree structure. This prevents me from selectively backing up, say, only work files to S3 while keeping them separate from other data.

Ideally, I’d prefer a shared folder mechanism (like VirtualBox offers), but this isn’t recommended or easily implemented in Qubes. Plan9 folder sharing also raises performance concerns.

At minimum, I’d like to copy VM files (/rw, /usr/local) and store all VM metadata (qvm-prefs, qvm-firewall, qvm-pci, etc.) in a centralized location. However, I’m concerned about missing something that qvm-backup includes but my custom script doesn’t.

This organizational approach causes me some anxiety because my actual data is now structured not by logical groupings of the data itself, but rather by its situational assignment to specific VMs:

/BACKUP/my-vm-dev1/DATA/Projects/Prj1
/BACKUP/my-vm-dev2/DATA/Projects/Prj2
/BACKUP/my-vm-docs/DATA/Docs

Instead of having all projects together in one coherent structure, they’re scattered across VM-specific directories, making it harder to maintain a clear overview of my data organization.

My Question:

How do you organize your software development workflow in Qubes OS? What practices do you use for managing projects across VMs and handling backups effectively?

I’d love to hear about your software development workflows and backup strategies in Qubes.

Are you using chatgpt to “sloppify” your forum posts? It looks very
synthetic and makes me avoid reading it.

If you aren’t doing that, sorry.

1 Like

Being a non-native English speaker I use it to correct the grammar and fix some set phrases usage if any. But I always check all the text manually that it reflects my thoughts by the letter (also, I put this instruction in the prompt).

This message hasn’t been checked with any grammar-checkers like GPT :slight_smile:

PS: I structure my topic opening posts as articles with structure and headers (and highlight them with bold), probably this looks like “slopifying” nowadays.

I would prefer seeing you use broken english (to the best of your
ability) rather than seeing a polished but synthetic text.