{ description = "RCON -> Bluemap player position API converter"; inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; outputs = { self, nixpkgs }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; inherit (pkgs) lib; in { apps.${system} = lib.genAttrs' [ "build" "build-freebsd-cross" "test" ] (name: { name = "gitea-workflows-${name}"; value = { type = "app"; meta.description = "Run ${name} gitea workflow job locally"; program = toString (pkgs.writeShellScript "wamf-run-gitea-worflows-${name}" '' ${lib.getExe pkgs.gitea-actions-runner} exec --job '${name}' --image node:current-trixie ''); }; }) // { gitea-workflows = { type = "app"; meta.description = "Run all gitea workflow jobs locally"; program = toString (pkgs.writeShellScript "wamf-run-gitea-worflows" '' ${lib.getExe pkgs.gitea-actions-runner} exec --image node:current-trixie ''); }; }; devShells.${system}.default = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } { packages = with pkgs; [ clang-tools libllvm pkg-config ]; buildInputs = with pkgs; [ cmocka ]; env = { CC = "clang"; CXX = "clang++"; CMOCKA_MESSAGE_OUTPUT = "STANDARD"; LLVM_PROFILE_FILE = "output/prof/wamf-%p-%m.profraw"; }; }; packages.${system} = let src = lib.fileset.toSource { root = ./.; fileset = lib.fileset.unions [ ./Makefile ./src ./test ]; }; in { default = self.packages.${system}.wamf; wamf = pkgs.callPackage ./nix/package.nix { inherit src; stdenv = pkgs.clangStdenv; }; wamf-freebsd-cross = let pkgs = import nixpkgs { localSystem = system; crossSystem = "x86_64-freebsd"; }; in pkgs.callPackage ./nix/package.nix { inherit src; stdenv = pkgs.clangStdenv; }; coverage-html = pkgs.callPackage ./nix/coverage-html.nix { inherit src; stdenv = pkgs.clangStdenv; }; }; }; }