diff options
author | sadbeast <sadbeast@sadbeast.com> | 2024-04-15 18:08:28 -0700 |
---|---|---|
committer | sadbeast <sadbeast@sadbeast.com> | 2024-05-18 17:23:35 -0700 |
commit | a4711cad923d6c7480e596685d9dcaefa241fe3b (patch) | |
tree | f0c36edea9b32b8a1825270436868bb020689657 /flake.nix | |
download | tmz-main.tar.gz tmz-main.tar.bz2 |
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..92f81f5 --- /dev/null +++ b/flake.nix @@ -0,0 +1,59 @@ +{ + description = "tmz - a library for loading Tiled Maps and Tilesets"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + flake-parts.url = "github:hercules-ci/flake-parts"; + + devshell.url = "github:numtide/devshell"; + treefmt-nix.url = "github:numtide/treefmt-nix"; + }; + + outputs = inputs @ {flake-parts, ...}: + flake-parts.lib.mkFlake {inherit inputs;} { + imports = [ + inputs.devshell.flakeModule + inputs.treefmt-nix.flakeModule + ]; + systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"]; + perSystem = { + config, + self', + inputs', + pkgs, + system, + ... + }: { + treefmt.config = { + projectRootFile = "flake.nix"; + + flakeCheck = true; + flakeFormatter = true; + + programs.zig.enable = true; + programs.alejandra.enable = true; + }; + + devshells.default = { + commands = [ + { + name = "fmt"; + help = "format the repo"; + command = "nix fmt"; + } + { + name = "docs"; + help = "generate auto docs"; + command = "zig test -femit-docs src/tmz.zig"; + } + ]; + + packages = [ + pkgs.zig_0_12 + pkgs.kcov + ]; + }; + }; + }; +} |