diff --git a/json/.envrc b/json/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/json/.envrc @@ -0,0 +1 @@ +use flake diff --git a/json/flake.nix b/json/flake.nix new file mode 100644 index 0000000..9ddfe8d --- /dev/null +++ b/json/flake.nix @@ -0,0 +1,33 @@ +{ + description = "JSON dev environment"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + outputs = { self, nixpkgs }: + let + systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f { + pkgs = import nixpkgs { inherit system; }; + }); + in + { + devShells = forAllSystems ({ pkgs }: { + default = pkgs.mkShell { + packages = with pkgs; [ + jq + fx + nodePackages.jsonlint + ]; + }; + }); + + apps = forAllSystems ({ pkgs }: { + default = { + type = "app"; + program = toString (pkgs.writeShellScript "validate-json" '' + ${pkgs.jq}/bin/jq '.' ${./hello.json} + ''); + }; + }); + }; +} diff --git a/json/hello.json b/json/hello.json new file mode 100644 index 0000000..1bcadb6 --- /dev/null +++ b/json/hello.json @@ -0,0 +1,9 @@ +{ + "greeting": "Hello, World!", + "language": "JSON", + "features": ["simple", "structured", "widely-used"], + "metadata": { + "version": 1, + "example": true + } +}