How to manipulate the Qubes OS menu via salt?

I know it’s been a nagging bother for both @SteveC and myself thus, thanks :handshake: SO much :pray: for jumping in on this!


My typical workflow (debian-11-minimal & debian-12-minimal preferred) is as follows:

  • A) Clone minimal template → new
    – 1) Install all teh t’ings
  • B) Create AppVM (Template for disposable)
    – 1) Configure teh t’ings (as necessary)
  • C) Create (Named) DispVM

Case #1)

Most of the time, when the package in question is installed via repo/manually downloaded package, shortcuts are immediately available within the new TemplateVM and as such, due to heredity, also immediately available in subsequent derived qubes.

Case #2)

Some of the time, when the package in question is installed via repo/manually downloaded package, shortcuts are not immediately available within the new TemplateVM and as such, due to heredity, also not immediately available in subsequent derived qubes.

Case #3)

Most of the time, when the package in question is installed via manually downloaded package/binary/source and a desktop shortcut is manually created (read created with vi/generated by piping some strings to file), shortcuts are not immediately available within the new TemplateVM and as such, due to heredity, not immediately available in subsequent derived qubes.

I’ve done my best to review “official” salt documentation, Qubes’ as well as scouring the forum/mail list/interwebs and. have generally came up mostly empty or less than preferred results.


I’ll start tacking this in to future formulae and circle back if need be. :carousel_horse:

Pretty sure I had my head in the sand :desert: because I was focusing more on the native salt docs. :person_facepalming:

As I was quite confident that the problem existed between the chair and the keyboard, I’m sending appreciation to you for this clarification. :bowing_woman:


The other sticking point for me is salting “Selected” Applications.

I’m primarily doing this for (Named) DispVMs but, also sometimes AppVMs (more often than not, “Template for disposible”) as well.

Albeit a bit hacky, I “thought” this via shell script would work:

echo 'most_excellent_application.desktop' | qvm-appmenus --set-whitelist - most_excellent_application

And, it does in fact “work” as, most_excellent_application is indeed “Selected” (displayed on the right-hand side of the Applications Tab within Qubes Manager) yet, not truly “Selected” as, most_excellent_application is not available via icon nor search in menu.

I’m thinking that the solution above may also address this :interrobang:


Because I don’t have the largest audience just yet; in the end, I often just breakdown to doing this dance :dancer: via the GUI. Absurd but, “just works”.

I think it would be a great help to know exactly which qvm-* cmds are being executed throughout that GUI ~workflow~ dance. :dancing_women:


commiseration

:rofl:

curiosity

Any noteworthy ~hacks~ workarounds to avoid this?