From 0337c6c8f8ff074637284f53884bd84d104b4379 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 10 Oct 2025 19:47:37 -0500 Subject: [PATCH] add a nix flake with dev shell and package --- .gitignore | 1 + flake.lock | 24 +++++++++++++++++++++++ flake.nix | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/.gitignore b/.gitignore index dca1103..b5ce1da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ zig-out/ .zig-cache/ +/result* diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..fc1aff7 --- /dev/null +++ b/flake.lock @@ -0,0 +1,24 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1760116735, + "narHash": "sha256-CtJvXEn1BAMg0dug9LUJXEw/1Sq0MqX52BToFKFHeG8=", + "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-25.11pre875086.0b4defa25843/nixexprs.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..854d22f --- /dev/null +++ b/flake.nix @@ -0,0 +1,57 @@ +{ + description = "zigdoc"; + inputs = { + nixpkgs = { + url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"; + }; + }; + outputs = + { + self, + nixpkgs, + ... + }: + let + makePackages = + system: + import nixpkgs { + inherit system; + }; + forAllSystems = ( + function: + nixpkgs.lib.genAttrs [ + "aarch64-darwin" + "aarch64-linux" + "x86_64-darwin" + "x86_64-linux" + ] (system: function (makePackages system)) + ); + in + { + devShells = forAllSystems (pkgs: { + zig_0_15 = pkgs.mkShell { + nativeBuildInputs = [ + pkgs.zig_0_15 + ]; + }; + default = self.devShells.${pkgs.system}.zig_0_15; + }); + packages = forAllSystems (pkgs: { + zigdoc = + let + zig_hook = pkgs.zig_0_15.hook.overrideAttrs { + zig_default_flags = "-Dcpu=baseline -Doptimize=ReleaseFast --color off"; + }; + in + pkgs.stdenv.mkDerivation (finalAttrs: { + pname = "zigdoc"; + version = "0.0.0"; + src = ./.; + nativeBuildInputs = [ + zig_hook + ]; + }); + default = self.packages.${pkgs.system}.zigdoc; + }); + }; +}