aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-12-29nix: rename fortifyBundle to buildPackageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29dist: install fpkg to /usr/binOphestra
This is a high level user-facing tool. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg/start: correct drop to shell wordingOphestra
Activation no longer happens during application startup. 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-26cmd/fpkg: app bundle helperOphestra
This helper program creates fortify configuration for running an application bundle. The activate action wraps a home-manager activation package and ensures each generation gets activated once. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26internal: include path to fortify main programOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29release: 0.2.8Ophestra
This release mostly fixes bugs uncovered when running fortify on a generic linux distribution. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28cmd/fshim: ensure data directoryOphestra
Ensuring home directory in shim causes the directory to be owned by the target user. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28app: ensure extra pathsOphestra
The primary use case for extra perms is app-specific state directories, which may or may not exist (first run of any app). Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28dist: build with -trimpathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28app: extra acl entries from configurationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28fortify/print: skip nil filesystem entriesOphestra
This fixes a panic when displaying configurations with nil filesystem entries. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28fst/config: add template etc entryOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-28app: merge share methodsOphestra
This significantly increases readability and makes order of ops more obvious. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27fst/config: autoetc read custom pathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27system/dbus: fix inverted system bus stateOphestra
Debug message and socket cleanup gets missed due to this value being inverted. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27fst/config: alternative /etc directoryOphestra
This is useful for static /etc directories provided by self-contained application packages, or in cases where autoetc is useful for paths other than /etc. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27helper/bwrap: fix typo in --dir config builderOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-27cmd/fshim: bind finit inside sandboxOphestra
The outer finit executable is normally inaccessible inside the sandbox. This was obscured by the current Nix-based setup exposing /nix/store to the sandbox. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26ldd: trim leading and trailing white spaces from nameOphestra
Glibc emits ldd output with \t prefix for formatting. Remove that here. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26dbus/run: bind ldd entry absolute nameOphestra
The ld.so entry has an absolute name. They are usually symlinks so binding path does not guarantee ld.so availability under its expected path in the mount namespace. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26ldd: add fhs glibc test caseOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26dbus: fail on LookPath errorOphestra
An absolute path to xdg-dbus-proxy is required. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26dist: create checksum in dist directoryOphestra
This makes verification easier. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26fst/config: improve correctness of commentsOphestra
The meanings of many of these fields have changed since they were added. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-25dist: include zsh completionOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-25dist/install: do not replace existing fsurcOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-23fortify/parse: accept config stream fdOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-23fortify: clean up config loadingOphestra
Move duplicate code to function. Also handle - as config from stdin. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22release: 0.2.7Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22nix: include fortify show outputOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: show short mode omit filesystemsOphestra
Filesystem information can be quite noisy in permissive defaults. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22app: mount /dev/kvm in permissive defaultsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: sort by time of startOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: sort ps outputOphestra
This ensures consistency between runs. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22nix: test dbus via notify-sendOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22fortify: print short instance id in non-json short modeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22release: 0.2.6Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-22nix: check state store contentsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: serialise ps with string as keyOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: zsh complete show instance listOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: clean up ps formatting codeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: move json indent callOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21fortify: move show formatting out of mainOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21app: rename /fortify to /.fortifyOphestra
Also removed the inner share tmpfs mount. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: clear terminal prior to screenshotOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: test pulseaudio pass throughOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21app: do not fail on missing cookieOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: filter nix files from srcOphestra
This prevents constant rebuilds when debugging integration tests. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-21nix: test dbus proxyOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>