mirror of
https://github.com/hyprspace/hyprspace.git
synced 2026-09-14 11:06:22 +05:00
26 lines
697 B
Nix
26 lines
697 B
Nix
{ lib, ... }:
|
|
|
|
{
|
|
perSystem =
|
|
{ pkgs, ... }:
|
|
let
|
|
go-jsonschema = pkgs.callPackage ./pkgs/go-jsonschema { };
|
|
|
|
jsonschema = import ./lib/jsonschema.nix { inherit lib; };
|
|
|
|
schema = jsonschema.parseModule ../nixos/settings.nix;
|
|
|
|
schemaFile = builtins.toFile "hyprspace-config-schema.json" (
|
|
builtins.toJSON (schema // { title = "Config"; })
|
|
);
|
|
in
|
|
{
|
|
apps.dev-generate-schemas.program = pkgs.writeShellScriptBin "hyprspace-generate-schemas" ''
|
|
if [[ "$GOFILE" != "generate.go" ]]; then
|
|
cd schema
|
|
fi
|
|
${lib.getExe go-jsonschema} -p schema ${schemaFile} --tags json -t -o config_generated.go
|
|
'';
|
|
};
|
|
}
|