Waydroid template

Did you check this yourself? First, this command sudo cp -a waydroid/ /srv/salt/ throws an error because there is no waydroid/ directory after cloning the repository. Okay, I renamed the directory. Then this command produces a many errors:
qubesctl states.apply waydroid.template
[WARNING ] Failed to open log file, do you have permission to write to /var/log/salt/minion?
[ERROR ] An un-handled exception was caught by Salt's global exception handler:
PermissionError: [Errno 13] Permission denied: '/var/cache/salt/minion/roots/mtime_map'
Traceback (most recent call last):
File "/usr/bin/qubesctl", line 130, in
salt_call()
~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/salt/scripts.py", line 442, in salt_call
client.run()
~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/salt/cli/call.py", line 40, in run
caller = salt.cli.caller.Caller.factory(self.config)
File "/usr/lib/python3.13/site-packages/salt/cli/caller.py", line 42, in factory
return ZeroMQCaller(opts, **kwargs)
File "/usr/lib/python3.13/site-packages/salt/cli/caller.py", line 299, in init
super().init(opts)
~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/cli/caller.py", line 63, in init
self.minion = salt.minion.SMinion(opts)
~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/minion.py", line 953, in init
self.gen_modules(initial_load=True, context=context)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/minion.py", line 453, in gen_modules
self.opts["pillar"] = salt.pillar.get_pillar(
~~~~~~~~~~~~~~~~~~~~~~^
self.opts,
^^^^^^^^^^
...<3 lines>...
pillarenv=self.opts.get("pillarenv"),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
).compile_pillar()
^
File "/usr/lib/python3.13/site-packages/salt/pillar/init.py", line 87, in get_pillar
return ptype(
opts,
...<7 lines>...
extra_minion_data=extra_minion_data,
)
File "/usr/lib/python3.13/site-packages/salt/pillar/init.py", line 560, in init
self.fileclient = salt.fileclient.get_file_client(self.opts, False)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/fileclient.py", line 55, in get_file_client
return {"remote": RemoteClient, "local": FSClient, "pillar": PillarClient}.get(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
client, RemoteClient
~~~~~~~~~~~~~~~~~~~~
)(opts)
~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/fileclient.py", line 1509, in init
self.channel = salt.fileserver.FSChan(opts)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/fileserver/init.py", line 858, in init
self.fs.update()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/salt/fileserver/init.py", line 474, in update
self.serversfstr
~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/loader/lazy.py", line 175, in call
ret = self.loader.run(run_func, *args, **kwargs)
File "/usr/lib/python3.13/site-packages/salt/loader/lazy.py", line 1365, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/loader/lazy.py", line 1380, in _run_as
ret = func_or_method(*args, **kwargs)
File "/usr/lib/python3.13/site-packages/salt/fileserver/roots.py", line 224, in update
with salt.utils.files.fopen(mtime_map_path, "wb") as fp
:
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/utils/files.py", line 530, in fopen
f_handle = open( # pylint: disable=resource-leakage,unspecified-encoding
*args, **kwargs
)
PermissionError: [Errno 13] Permission denied: '/var/cache/salt/minion/roots/mtime_map'
Traceback (most recent call last):
File "/usr/bin/qubesctl", line 130, in
salt_call()
~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/salt/scripts.py", line 442, in salt_call
client.run()
~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/salt/cli/call.py", line 40, in run
caller = salt.cli.caller.Caller.factory(self.config)
File "/usr/lib/python3.13/site-packages/salt/cli/caller.py", line 42, in factory
return ZeroMQCaller(opts, **kwargs)
File "/usr/lib/python3.13/site-packages/salt/cli/caller.py", line 299, in init
super().init(opts)
~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/cli/caller.py", line 63, in init
self.minion = salt.minion.SMinion(opts)
~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/minion.py", line 953, in init
self.gen_modules(initial_load=True, context=context)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/minion.py", line 453, in gen_modules
self.opts["pillar"] = salt.pillar.get_pillar(
~~~~~~~~~~~~~~~~~~~~~~^
self.opts,
^^^^^^^^^^
...<3 lines>...
pillarenv=self.opts.get("pillarenv"),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
).compile_pillar()
^
File "/usr/lib/python3.13/site-packages/salt/pillar/init.py", line 87, in get_pillar
return ptype(
opts,
...<7 lines>...
extra_minion_data=extra_minion_data,
)
File "/usr/lib/python3.13/site-packages/salt/pillar/init.py", line 560, in init
self.fileclient = salt.fileclient.get_file_client(self.opts, False)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/fileclient.py", line 55, in get_file_client
return {"remote": RemoteClient, "local": FSClient, "pillar": PillarClient}.get(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
client, RemoteClient
~~~~~~~~~~~~~~~~~~~~
)(opts)
~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/fileclient.py", line 1509, in init
self.channel = salt.fileserver.FSChan(opts)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/salt/fileserver/init.py", line 858, in init
self.fs.update()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/salt/fileserver/init.py", line 474, in update
self.serversfstr
~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/loader/lazy.py", line 175, in call
ret = self.loader.run(run_func, *args, **kwargs)
File "/usr/lib/python3.13/site-packages/salt/loader/lazy.py", line 1365, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/loader/lazy.py", line 1380, in _run_as
ret = func_or_method(*args, **kwargs)
File "/usr/lib/python3.13/site-packages/salt/fileserver/roots.py", line 224, in update
with salt.utils.files.fopen(mtime_map_path, "wb") as fp
:
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/salt/utils/files.py", line 530, in fopen
f_handle = open( # pylint: disable=resource-leakage,unspecified-encoding
*args, **kwargs
)
PermissionError: [Errno 13] Permission denied: '/var/cache/salt/minion/roots/mtime_map'
Exception ignored in: <function Pillar.del at 0x783017a8e480>
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/salt/pillar/init.py", line 1387, in del
self.destroy()
File "/usr/lib/python3.13/site-packages/salt/pillar/init.py", line 1371, in destroy
if self._closing:
AttributeError: 'Pillar' object has no attribute '_closing'
DOM0 configuration failed, not continuing

Mistakenly did not include sudo inside the qubesctl command. Updated the repository to be in a more decent state.

─➤ sudo qubesctl states.apply waydroid.template
'states.apply' is not available.
DOM0 configuration failed, not continuing

I cant comment on the quality or trust of the salt, but this is another mistake -
the call is sudo qubesctl state.apply

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

I sincerely apologize. I made some typos that I corrected and fixed. Just retested it. I did not retest the readme file, which I rewrote by hand from the dom0 commands I used.

I will make more quality contributions to the Qubes project, from now on.