C build tool of the 21st century

add nix flake

+256
+223
flake.lock
··· 1 + { 2 + "nodes": { 3 + "flake-compat": { 4 + "flake": false, 5 + "locked": { 6 + "lastModified": 1747046372, 7 + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 8 + "owner": "edolstra", 9 + "repo": "flake-compat", 10 + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 11 + "type": "github" 12 + }, 13 + "original": { 14 + "owner": "edolstra", 15 + "repo": "flake-compat", 16 + "type": "github" 17 + } 18 + }, 19 + "flake-utils": { 20 + "inputs": { 21 + "systems": "systems" 22 + }, 23 + "locked": { 24 + "lastModified": 1731533236, 25 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 26 + "owner": "numtide", 27 + "repo": "flake-utils", 28 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 29 + "type": "github" 30 + }, 31 + "original": { 32 + "owner": "numtide", 33 + "repo": "flake-utils", 34 + "type": "github" 35 + } 36 + }, 37 + "flake-utils_2": { 38 + "inputs": { 39 + "systems": "systems_2" 40 + }, 41 + "locked": { 42 + "lastModified": 1731533236, 43 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 44 + "owner": "numtide", 45 + "repo": "flake-utils", 46 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 47 + "type": "github" 48 + }, 49 + "original": { 50 + "owner": "numtide", 51 + "repo": "flake-utils", 52 + "type": "github" 53 + } 54 + }, 55 + "mirage-opam-overlays": { 56 + "flake": false, 57 + "locked": { 58 + "lastModified": 1710922379, 59 + "narHash": "sha256-j4QREQDUf8oHOX7qg6wAOupgsNQoYlufxoPrgagD+pY=", 60 + "owner": "dune-universe", 61 + "repo": "mirage-opam-overlays", 62 + "rev": "797cb363df3ff763c43c8fbec5cd44de2878757e", 63 + "type": "github" 64 + }, 65 + "original": { 66 + "owner": "dune-universe", 67 + "repo": "mirage-opam-overlays", 68 + "type": "github" 69 + } 70 + }, 71 + "nixpkgs": { 72 + "locked": { 73 + "lastModified": 1751792365, 74 + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", 75 + "owner": "nixos", 76 + "repo": "nixpkgs", 77 + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", 78 + "type": "github" 79 + }, 80 + "original": { 81 + "owner": "nixos", 82 + "ref": "nixos-unstable", 83 + "repo": "nixpkgs", 84 + "type": "github" 85 + } 86 + }, 87 + "opam-nix": { 88 + "inputs": { 89 + "flake-compat": "flake-compat", 90 + "flake-utils": "flake-utils_2", 91 + "mirage-opam-overlays": "mirage-opam-overlays", 92 + "nixpkgs": "nixpkgs", 93 + "opam-overlays": "opam-overlays", 94 + "opam-repository": "opam-repository", 95 + "opam2json": "opam2json" 96 + }, 97 + "locked": { 98 + "lastModified": 1766494091, 99 + "narHash": "sha256-3e0qNJWebAJadblHfGWyVBphS6tYVnCG8S2DI5Ke4F8=", 100 + "owner": "tweag", 101 + "repo": "opam-nix", 102 + "rev": "56f984e6e1b79f561d30a96ca3a5a9e0a1d185d1", 103 + "type": "github" 104 + }, 105 + "original": { 106 + "owner": "tweag", 107 + "repo": "opam-nix", 108 + "type": "github" 109 + } 110 + }, 111 + "opam-overlays": { 112 + "flake": false, 113 + "locked": { 114 + "lastModified": 1741116009, 115 + "narHash": "sha256-Z0PIW82fHJFvAv/JYpAffnp2DaOjLhsPutqyIrORZd0=", 116 + "owner": "dune-universe", 117 + "repo": "opam-overlays", 118 + "rev": "e031bb64e33bf93be963e9a38b28962e6e14381f", 119 + "type": "github" 120 + }, 121 + "original": { 122 + "owner": "dune-universe", 123 + "repo": "opam-overlays", 124 + "type": "github" 125 + } 126 + }, 127 + "opam-repository": { 128 + "flake": false, 129 + "locked": { 130 + "lastModified": 1759971927, 131 + "narHash": "sha256-aUZWd0KOpEnioBwqlwRU40rUFAqT3RTlojXt2oI3omY=", 132 + "owner": "ocaml", 133 + "repo": "opam-repository", 134 + "rev": "551314ad1550478ec6be39bb0eaadd2569190464", 135 + "type": "github" 136 + }, 137 + "original": { 138 + "owner": "ocaml", 139 + "repo": "opam-repository", 140 + "type": "github" 141 + } 142 + }, 143 + "opam2json": { 144 + "inputs": { 145 + "nixpkgs": [ 146 + "opam-nix", 147 + "nixpkgs" 148 + ], 149 + "systems": "systems_3" 150 + }, 151 + "locked": { 152 + "lastModified": 1749457947, 153 + "narHash": "sha256-+QVm+HOYikF3wUhqSIV8qJbE/feSG+p48fgxIosbHS0=", 154 + "owner": "tweag", 155 + "repo": "opam2json", 156 + "rev": "0ecd66fc2bfb25d910522c990dd36412259eac1f", 157 + "type": "github" 158 + }, 159 + "original": { 160 + "owner": "tweag", 161 + "repo": "opam2json", 162 + "type": "github" 163 + } 164 + }, 165 + "root": { 166 + "inputs": { 167 + "flake-utils": "flake-utils", 168 + "nixpkgs": [ 169 + "opam-nix", 170 + "nixpkgs" 171 + ], 172 + "opam-nix": "opam-nix" 173 + } 174 + }, 175 + "systems": { 176 + "locked": { 177 + "lastModified": 1681028828, 178 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 179 + "owner": "nix-systems", 180 + "repo": "default", 181 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 182 + "type": "github" 183 + }, 184 + "original": { 185 + "owner": "nix-systems", 186 + "repo": "default", 187 + "type": "github" 188 + } 189 + }, 190 + "systems_2": { 191 + "locked": { 192 + "lastModified": 1681028828, 193 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 194 + "owner": "nix-systems", 195 + "repo": "default", 196 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 197 + "type": "github" 198 + }, 199 + "original": { 200 + "owner": "nix-systems", 201 + "repo": "default", 202 + "type": "github" 203 + } 204 + }, 205 + "systems_3": { 206 + "locked": { 207 + "lastModified": 1681028828, 208 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 209 + "owner": "nix-systems", 210 + "repo": "default", 211 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 212 + "type": "github" 213 + }, 214 + "original": { 215 + "owner": "nix-systems", 216 + "repo": "default", 217 + "type": "github" 218 + } 219 + } 220 + }, 221 + "root": "root", 222 + "version": 7 223 + }
+33
flake.nix
··· 1 + { 2 + inputs = { 3 + opam-nix.url = "github:tweag/opam-nix"; 4 + flake-utils.url = "github:numtide/flake-utils"; 5 + nixpkgs.follows = "opam-nix/nixpkgs"; 6 + }; 7 + outputs = 8 + { 9 + self, 10 + flake-utils, 11 + opam-nix, 12 + nixpkgs, 13 + }@inputs: 14 + let 15 + package = "zenon"; 16 + in 17 + flake-utils.lib.eachDefaultSystem ( 18 + system: 19 + let 20 + pkgs = nixpkgs.legacyPackages.${system}; 21 + on = opam-nix.lib.${system}; 22 + scope = on.buildOpamProject { } package ./. { ocaml-base-compiler = "*"; }; 23 + overlay = final: prev: { 24 + # Your overrides go here 25 + }; 26 + in 27 + { 28 + legacyPackages = scope.overrideScope overlay; 29 + 30 + packages.default = self.legacyPackages.${system}.${package}; 31 + } 32 + ); 33 + }