Files
home-manager/modules/services/podman/assertions.nix
Thierry Delafontaine f4bcc1ae1c podman: add darwin support with machine management
- restructure module from `podman-linux` to platform-agnostic `podman`
- move linux-specific implementation to `modules/services/podman/linux/`
- add darwin module with declarative machine management
- implement launchd-based watchdog for auto-starting machines
- maintains backward compatibility with existing linux functionality
2026-01-09 09:15:55 -05:00

24 lines
634 B
Nix

{ lib }:
{
assertPlatform =
module: config: pkgs: platforms:
let
modulePath = lib.splitString "." module;
isEmpty = x: x == false || x == null || x == { } || x == [ ] || x == "";
in
{
assertion =
(isEmpty (lib.attrByPath modulePath null config))
|| (lib.elem pkgs.stdenv.hostPlatform.system platforms);
message =
let
platformsStr = lib.concatStringsSep "\n" (map (p: " - ${p}") (lib.sort (a: b: a < b) platforms));
in
''
The module ${module} does not support your platform. It only supports
${platformsStr}'';
};
}