mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-14 15:56:13 +03:00

This fixes the Nix *package* build (read: not devShell, which is not touched) so that it builds, and also conforms to what is generally seen for a Zig project in nixpkgs. The highlights: * We use a Zig 0.12 derivation that I constructed from the Zig 0.11 derivation, in addition to LLVM 17 updates found in NixOS/nixpkgs#258614. This specifically includes the patches that address ziglang/zig#15898, and also allows us to take advantage of the build hooks included in the Zig toolchain there. * We pre-download the cache using "zig build --fetch" and a fixed-output derivation. This is similar to how the Go builders work in nixpkgs and I could see Zig ultimately going in a similar path, given that the fetcher part of the build system seems to be shaping up to having a Go module system-style DX (mind you, this is a naive opinion right now). * Finally, cleaned up the derivation so that there's no special fixups happening outside of what is defined in the basic nixpkgs workflow. This is similar to other Zig projects I looked at (notably River) that seem to just include their dependencies in buildInputs and call it a day. One specific change that is worth noting is that this changes the build mode from ReleaseFast to ReleaseSafe - this is the current default within the Zig build hook in nixpkgs. If we need ReleaseFast, we'll have to override this.
323 lines
8.7 KiB
JSON
323 lines
8.7 KiB
JSON
{
|
|
"nodes": {
|
|
"flake-compat": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1648199409,
|
|
"narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-compat_2": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1673956053,
|
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-compat_3": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1673956053,
|
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-utils": {
|
|
"locked": {
|
|
"lastModified": 1656065134,
|
|
"narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=",
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-utils_2": {
|
|
"locked": {
|
|
"lastModified": 1659877975,
|
|
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-utils_3": {
|
|
"inputs": {
|
|
"systems": "systems"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1694529238,
|
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-utils_4": {
|
|
"locked": {
|
|
"lastModified": 1659877975,
|
|
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "numtide",
|
|
"repo": "flake-utils",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"gitignore": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"zls-master",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1694102001,
|
|
"narHash": "sha256-vky6VPK1n1od6vXbqzOXnekrQpTL4hbPAwUhT5J9c9E=",
|
|
"owner": "hercules-ci",
|
|
"repo": "gitignore.nix",
|
|
"rev": "9e21c80adf67ebcb077d75bd5e7d724d21eeafd6",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "hercules-ci",
|
|
"repo": "gitignore.nix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"langref": {
|
|
"flake": false,
|
|
"locked": {
|
|
"narHash": "sha256-mYdDCBdNEIeMbavdhSo8qXqW+3fqPC8BAich7W3umrI=",
|
|
"type": "file",
|
|
"url": "https://raw.githubusercontent.com/ziglang/zig/63bd2bff12992aef0ce23ae4b344e9cb5d65f05d/doc/langref.html.in"
|
|
},
|
|
"original": {
|
|
"type": "file",
|
|
"url": "https://raw.githubusercontent.com/ziglang/zig/63bd2bff12992aef0ce23ae4b344e9cb5d65f05d/doc/langref.html.in"
|
|
}
|
|
},
|
|
"nixpkgs": {
|
|
"locked": {
|
|
"lastModified": 1691950488,
|
|
"narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=",
|
|
"owner": "nixos",
|
|
"repo": "nixpkgs",
|
|
"rev": "720e61ed8de116eec48d6baea1d54469b536b985",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "nixos",
|
|
"ref": "release-23.05",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs-unstable": {
|
|
"locked": {
|
|
"lastModified": 1688221086,
|
|
"narHash": "sha256-cdW6qUL71cNWhHCpMPOJjlw0wzSRP0pVlRn2vqX/VVg=",
|
|
"owner": "nixos",
|
|
"repo": "nixpkgs",
|
|
"rev": "cd99c2b3c9f160cd004318e0697f90bbd5960825",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "nixos",
|
|
"ref": "nixpkgs-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs-zig-0-12": {
|
|
"locked": {
|
|
"lastModified": 1700381855,
|
|
"narHash": "sha256-2iN7PIsz7zcGU+va5eUZwNEmBnDGr+sUgoWhpsT5xtw=",
|
|
"owner": "vancluever",
|
|
"repo": "nixpkgs",
|
|
"rev": "d986dbb50cea7804e544ebd77342a2498e399166",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "vancluever",
|
|
"ref": "vancluever-zig-0-12",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs_2": {
|
|
"locked": {
|
|
"lastModified": 1689088367,
|
|
"narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "5c9ddb86679c400d6b7360797b8a22167c2053f8",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"ref": "release-23.05",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs_3": {
|
|
"locked": {
|
|
"lastModified": 1697915759,
|
|
"narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"ref": "nixpkgs-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"root": {
|
|
"inputs": {
|
|
"flake-compat": "flake-compat",
|
|
"flake-utils": "flake-utils",
|
|
"nixpkgs": "nixpkgs",
|
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
|
"nixpkgs-zig-0-12": "nixpkgs-zig-0-12",
|
|
"zig": "zig",
|
|
"zls-master": "zls-master"
|
|
}
|
|
},
|
|
"systems": {
|
|
"locked": {
|
|
"lastModified": 1681028828,
|
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
"owner": "nix-systems",
|
|
"repo": "default",
|
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "nix-systems",
|
|
"repo": "default",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"zig": {
|
|
"inputs": {
|
|
"flake-compat": "flake-compat_2",
|
|
"flake-utils": "flake-utils_2",
|
|
"nixpkgs": "nixpkgs_2"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1699963707,
|
|
"narHash": "sha256-guVQVu9RHks0GfR/ThggOw5oSdMzG87qIkCXNFiCUvs=",
|
|
"owner": "mitchellh",
|
|
"repo": "zig-overlay",
|
|
"rev": "10ac4bf5210caa9e075337eb3c3554208a725c6e",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "mitchellh",
|
|
"repo": "zig-overlay",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"zig-overlay": {
|
|
"inputs": {
|
|
"flake-compat": "flake-compat_3",
|
|
"flake-utils": "flake-utils_4",
|
|
"nixpkgs": [
|
|
"zls-master",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1698149298,
|
|
"narHash": "sha256-c+o5oUprm8wnJWV8wpBVMlSptSIYy7hCk/vJHjVH4KU=",
|
|
"owner": "mitchellh",
|
|
"repo": "zig-overlay",
|
|
"rev": "bbc407a319659eed86d97989ef50cc82e3677c45",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "mitchellh",
|
|
"repo": "zig-overlay",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"zls-master": {
|
|
"inputs": {
|
|
"flake-utils": "flake-utils_3",
|
|
"gitignore": "gitignore",
|
|
"langref": "langref",
|
|
"nixpkgs": "nixpkgs_3",
|
|
"zig-overlay": "zig-overlay"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1698376060,
|
|
"narHash": "sha256-05v6eGCEJ08v4GQwRtS3l537ZHFmhuWUY4PkuzMjuz8=",
|
|
"owner": "zigtools",
|
|
"repo": "zls",
|
|
"rev": "4607ec816ace6188c4d24f4d4f0fb320714c7063",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "zigtools",
|
|
"ref": "master",
|
|
"repo": "zls",
|
|
"type": "github"
|
|
}
|
|
}
|
|
},
|
|
"root": "root",
|
|
"version": 7
|
|
}
|