<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/test/sandbox/case, branch develop</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/test/sandbox/case?h=develop</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/test/sandbox/case?h=develop'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2026-10-06T10:41:06Z</updated>
<entry>
<title>test/sandbox: migrate tests</title>
<updated>2026-10-06T10:41:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-10-03T16:05:10Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=a7383510fb05abc98b992240cb76ad4b6c598956'/>
<id>urn:sha1:a7383510fb05abc98b992240cb76ad4b6c598956</id>
<content type='text'>
This significantly improves performance, removing overhead of nix,
python, and virtualisation. Running this in an unprivileged container
required patching the kernel, but since special runner setup was already
needed, that was an acceptable tradeoff.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>nix: work around systemd nondeterminism</title>
<updated>2026-06-07T05:10:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-06-07T05:10:06Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=b18ecf58326f9048afca885e2bf56d516578b1e4'/>
<id>urn:sha1:b18ecf58326f9048afca885e2bf56d516578b1e4</id>
<content type='text'>
NixOS switched to systemd initramfs by default.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>nix: update flake lock</title>
<updated>2026-06-06T04:14:09Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-06-05T00:53:15Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=7eafc7b1e4b895d1986280e192aa8d493fff8d96'/>
<id>urn:sha1:7eafc7b1e4b895d1986280e192aa8d493fff8d96</id>
<content type='text'>
Was unfortunately not able to implement vm test suite before this release. Hopefully the last nixos update we have to follow.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>container/initoverlay: configure via fsconfig</title>
<updated>2026-05-03T17:29:56Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-05-03T17:07:52Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=da11b26ec16ef9ed61045fdbb03c4090286bfeba'/>
<id>urn:sha1:da11b26ec16ef9ed61045fdbb03c4090286bfeba</id>
<content type='text'>
This works around the page size limit at the cost of negligible performance regressions.

Closes #34.

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>nix: update flake lock</title>
<updated>2025-12-11T23:39:55Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-11T23:39:55Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ebc67bb8ada03750eee60ab58c945b4745f22af1'/>
<id>urn:sha1:ebc67bb8ada03750eee60ab58c945b4745f22af1</id>
<content type='text'>
NixOS 25.11 introduces a crash in cage and an intermittent crash in foot.

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/grp_pwd: specify new uid format</title>
<updated>2025-11-03T23:24:41Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-11-03T23:00:37Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=cb9ebf0e1541c0e49380cda6d4c2d619a0e9933f'/>
<id>urn:sha1:cb9ebf0e1541c0e49380cda6d4c2d619a0e9933f</id>
<content type='text'>
This leaves slots available for additional uid ranges in Rosa OS.

This breaks all existing installations! Users are required to fix ownership manually.

Closes #18.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>hst/container: optional runtime and tmpdir sharing</title>
<updated>2025-10-18T19:11:38Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-10-18T18:53:20Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=699c19e972a3cbcc714403aedffcb5ff74386cfc'/>
<id>urn:sha1:699c19e972a3cbcc714403aedffcb5ff74386cfc</id>
<content type='text'>
Sharing and persisting these directories do not always make sense. Make it optional here.

Closes #16.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/app/outcome: apply configured filesystems late</title>
<updated>2025-10-18T16:41:52Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-10-18T16:41:52Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=e47aebb7a0de9b3b9f0345db68ff0119e6cc12c0'/>
<id>urn:sha1:e47aebb7a0de9b3b9f0345db68ff0119e6cc12c0</id>
<content type='text'>
This enables configured filesystems to cover system mount points.

Closes #8.

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