aboutsummaryrefslogtreecommitdiffhomepage
path: root/flake.nix
AgeCommit message (Collapse)Author
2026-04-08cmd/sharefs: reproduce vfs inode file attribute raceOphestra
This happens in the vfs permissions check only and stale data appears to never reach userspace. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-07all: optionally forbid degrading in testsOphestra
This enables transparently degradable tests to be forced on in environments known to support them. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-05cmd/dist: replace dist/release.shOphestra
This is much more robust than a shell script. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-10go: 1.26Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-02cmd: remove hpkgOphestra
This proof-of-concept was abandoned long ago. Its test suite is flaky, heavy on I/O and does not increase test coverage. This change fully removes hpkg and supporting code. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-27dist: run testsOphestra
This used to be impossible due to nix jank which has been addressed. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-27nix: configure sharefs via fileSystemsOphestra
Turns out this did not work because in the vm test harness, virtualisation.fileSystems completely and silently overrides fileSystems, causing its contents to not even be evaluated anymore. This is not documented as far as I can tell, and is not obvious by any stretch of the imagination. The current hack is cargo culted from nix-community/impermanence and hopefully lasts until this project fully replaces nix. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-25cmd/sharefs: implement shared filesystemOphestra
This is for passing files between applications, similar to android /sdcard. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-21nix: disable source fortification in devShellOphestra
This generates warnings when compiling without optimisation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-12nix: update flake lockOphestra
NixOS 25.11 introduces a crash in cage and an intermittent crash in foot. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-15nix: build with clangOphestra
Clang is better than gcc in various ways. This also pulls in clang-format which is very helpful. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-05container: add 386 constantsOphestra
While it is unlikely a use case for hakurei on i686 exists, it does not hurt to have this support. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-08test/interactive: helper scripts for tracingOphestra
The vm state is discarded often, and it is quite cumbersome to set everything up again when the shell history is gone. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-07nix: interactive nixos vmOphestra
This is useful for quickly spinning up an ephemeral hakurei environment for testing changes or reproducing vm test failures. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-31cmd/hpkg: rename from planteretteOphestra
Planterette is now developed in another repository, so rename this proof of concept to avoid confusion. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07nix: cross-platform syscall wrapperOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-01sandbox/seccomp: implement syscall lookupOphestra
This uses the Go map and is verified against libseccomp. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-26sandbox/seccomp: syscall name lookup tableOphestra
The script is from Go source of same name. The result is checked against libseccomp. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25cmd/planterette: remove hsu special caseOphestra
Remove special case and invoke hakurei out of process. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25treewide: rename to hakureiOphestra
Fortify makes little sense for a container tool. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-05nix: update flake lockOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-30test: separate app and sandboxOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25helper: remove bubblewrap wrapperOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17nix: clean up flake outputsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-14ldd: run in native sandboxOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-13sandbox: native container toolingOphestra
This should eventually replace bwrap. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-10nix: update flake lockOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-28nix: increase nixfmt max widthOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-26cmd/fpkg/test: nixos test fpkg install/startOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-26nix: wrap fpkgOphestra
This is usable on nixos now due to the static build. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-25nix: include fsu sources in dist buildOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23nix: clean up directory structureOphestra
Tests for fpkg is going to be in ./cmd/fpkg, so this central tests directory is no longer necessary. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23nix: separate fsu from packageOphestra
This appears to be the only way to build them with different configuration. This enables static linking in the main package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21cmd/fpkg: rename buildPackage fileOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21nix: split integration testOphestra
For adding tests for fpkg. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-16nix: run integration tests with race detectorOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-20proc/priv/shim: seccomp bpf filter via libseccompOphestra
Rulesets adapted from Flatpak for compatibility. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-17nix: do not force static linking on nixOphestra
In a typical Nix or NixOS-based setup, the entire /nix/store directory is available to the sandbox. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-16fortify: switch to static linkingOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: remove unused argument 'self'Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: rename fortifyBundle to buildPackageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29nix: generate application package build scriptOphestra
This takes some metadata, sandbox options, a launch script and a list of home-manager modules. The result needs to be executed in an environment with nix daemon access, and it produces the final package file. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-17nix: run Go tests in nixosOphestra Umiker
Nix build environment does not support ACLs in any filesystem. This allows acl tests to run. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-12-16nix: permissive defaults nixos testOphestra Umiker
Adapted from nixos sway integration tests. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-12-16nix: implement flake checksOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-12-06nix: track nixos stable 24.11Ophestra Umiker
Reduce rebuilds during development on my system. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-11-19nix: update options docOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-10-28fsu: implement simple setuid user switcherOphestra Umiker
Contains path to fortify, set at compile time, authenticates based on a simple uid range assignment file which also acts as the allow list. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-10-17nix: remove fortify package from default devShellOphestra Umiker
This change makes it possible to start a devShell when tests aren't passing. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-28dbus: add testsOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>