<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/test/test.py, branch v0.4.2</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/test/test.py?h=v0.4.2</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/test/test.py?h=v0.4.2'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2026-04-23T04:07:22Z</updated>
<entry>
<title>nix: remove all explicit timeouts</title>
<updated>2026-04-23T04:07:22Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-04-23T04:07:22Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=725ae7d64d56727364da16d9e016162dd80016d7'/>
<id>urn:sha1:725ae7d64d56727364da16d9e016162dd80016d7</id>
<content type='text'>
These were useful during development because timing out is often the only indication of failure due to the terrible design of nixos vm test harness. This has become a nuisance however especially when the system is under load, so remove explicit values and fall back to the ludicrously high default.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>cmd/hakurei: rename app to run</title>
<updated>2026-03-28T07:48:26Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-28T07:43:02Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=b1ea3b4acf85365fd76c890f8b8852b5f95be5c1'/>
<id>urn:sha1:b1ea3b4acf85365fd76c890f8b8852b5f95be5c1</id>
<content type='text'>
The run command was a legacy holdover from very early days and is only useful for testing and demonstration these days. This change also renames it to exec.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>hst: expose scheduling priority</title>
<updated>2026-03-11T17:15:14Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-11T16:20:08Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=620062cca92b6241c15f96f86a9c6f0f7882ecca'/>
<id>urn:sha1:620062cca92b6241c15f96f86a9c6f0f7882ecca</id>
<content type='text'>
This is useful when limits are configured to allow it.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>container: expose priority and SCHED_OTHER policy</title>
<updated>2026-03-11T16:14:03Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-11T16:14:03Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=196b200d0f19c41730db439c62db9b39e424f21f'/>
<id>urn:sha1:196b200d0f19c41730db439c62db9b39e424f21f</id>
<content type='text'>
The more explicit API removes the arbitrary limit preventing use of SCHED_OTHER (referred to as SCHED_NORMAL in the kernel). This change also exposes priority value to set.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>hst: expose scheduling policy</title>
<updated>2026-03-11T15:52:18Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-11T12:06:44Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=04e6bc3c5c99d6a99f17cfa5f69f34fe8941aee2'/>
<id>urn:sha1:04e6bc3c5c99d6a99f17cfa5f69f34fe8941aee2</id>
<content type='text'>
This is primarily useful for poorly written music players for now.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>test: check shim private dir cleanup</title>
<updated>2025-12-15T11:30:19Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-15T11:14:39Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=767f1844d222bdd5afc99868df7b5b42e7e2fad4'/>
<id>urn:sha1:767f1844d222bdd5afc99868df7b5b42e7e2fad4</id>
<content type='text'>
This asserts that no shim private dir was left behind after all containers terminate.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/outcome: expose pipewire via pipewire-pulse</title>
<updated>2025-12-15T03:57:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-15T03:43:58Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=54610aaddcc01e335c34087bc0c3bc1de6d23cf8'/>
<id>urn:sha1:54610aaddcc01e335c34087bc0c3bc1de6d23cf8</id>
<content type='text'>
This no longer exposes the pipewire socket to the container, and instead mediates access via pipewire-pulse. This makes insecure parts of the protocol inaccessible as explained in the doc comment in hst.

Closes #29.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>cmd/hakurei: exec instead of fork/exec from shell</title>
<updated>2025-12-08T13:29:41Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-08T13:29:41Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=d5fb179012e36436a81761502948c91d44d21cc3'/>
<id>urn:sha1:d5fb179012e36436a81761502948c91d44d21cc3</id>
<content type='text'>
There is no reason to keep the shell process around.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>treewide: include PipeWire op and enforce PulseAudio check</title>
<updated>2025-12-07T23:53:04Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-07T23:03:50Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=87781c765844409226804157546753b84ef3c6b4'/>
<id>urn:sha1:87781c765844409226804157546753b84ef3c6b4</id>
<content type='text'>
This fully replaces PulseAudio with PipeWire and enforces the PulseAudio check and error message. The pipewire-pulse daemon is handled in the NixOS module.

Closes #26.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>hst: check for insecure PulseAudio enablement</title>
<updated>2025-12-07T18:13:02Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-07T17:53:07Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=422efcf258eb49ecd0d4de8e53adae656696ea56'/>
<id>urn:sha1:422efcf258eb49ecd0d4de8e53adae656696ea56</id>
<content type='text'>
This is currently still a noop, but required for #26.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
</feed>
