- commit
- c15a46b
- parent
- f756c23
- author
- Britton Robitzsch
- date
- 2025-12-05 14:38:12 -0500 EST
add nix flake (#5)
4 files changed,
+321,
-0
+5,
-0
1@@ -10,3 +10,8 @@ zig_std_src/
2 ghostty_src/
3 prior_art/
4 .beads/
5+
6+# Nix
7+result
8+result-*
9+.direnv/
+184,
-0
1@@ -0,0 +1,184 @@
2+{
3+ "ghostty-1.3.0-dev-5UdBC1jbPQQiKIuCh-CDmtqsuAVn7HUDNjkzKjt9H_aX": {
4+ "name": "ghostty",
5+ "url": "git+https://github.com/ghostty-org/ghostty.git?ref=HEAD#4ff0e0c9d251ddd0687ead578a90d58d63f9840b",
6+ "hash": "sha256-S7ksHBC6jVDnSDaFgVhJ5wwdEjtfVhbPvkqWxkFH8kA=",
7+ "rev": "4ff0e0c9d251ddd0687ead578a90d58d63f9840b"
8+ },
9+ "libxev-0.0.0-86vtc4IcEwCqEYxEYoN_3KXmc6A9VLcm22aVImfvecYs": {
10+ "name": "libxev",
11+ "url": "https://deps.files.ghostty.org/libxev-34fa50878aec6e5fa8f532867001ab3c36fae23e.tar.gz",
12+ "hash": "sha256-YAPqa5bkpRihKPkyMn15oRvTCZaxO3O66ymRY3lIfdc="
13+ },
14+ "vaxis-0.5.1-BWNV_LosCQAGmCCNOLljCIw6j6-yt53tji6n6rwJ2BhS": {
15+ "name": "vaxis",
16+ "url": "https://github.com/rockorager/libvaxis/archive/7dbb9fd3122e4ffad262dd7c151d80d863b68558.tar.gz",
17+ "hash": "sha256-LnIzK8icW1Qexua9SHaeHz+3V8QAbz0a+UC1T5sIjvY="
18+ },
19+ "zigimg-0.1.0-8_eo2vHnEwCIVW34Q14Ec-xUlzIoVg86-7FU2ypPtxms": {
20+ "name": "zigimg",
21+ "url": "https://github.com/ivanstepanovftw/zigimg/archive/d7b7ab0ba0899643831ef042bd73289510b39906.tar.gz",
22+ "hash": "sha256-LB7Xa6KzVRRUSwwnyWM+y6fDG+kIDjfnoBDJO1obxVM="
23+ },
24+ "uucode-0.1.0-ZZjBPj96QADXyt5sqwBJUnhaDYs_qBeeKijZvlRa0eqM": {
25+ "name": "uucode",
26+ "url": "git+https://github.com/jacobsandlund/uucode#5f05f8f83a75caea201f12cc8ea32a2d82ea9732",
27+ "hash": "sha256-sHPh+TQSdUGus/QTbj7KSJJkTuNTrK4VNmQDjS30Lf8=",
28+ "rev": "5f05f8f83a75caea201f12cc8ea32a2d82ea9732"
29+ },
30+ "z2d-0.9.0-j5P_Hu-WFgA_JEfRpiFss6gdvcvS47cgOc0Via2eKD_T": {
31+ "name": "z2d",
32+ "url": "https://github.com/vancluever/z2d/archive/refs/tags/v0.9.0.tar.gz",
33+ "hash": "sha256-+QqCRoXwrFA1/l+oWvYVyAVebGQitAFQNhi9U3EVrxA="
34+ },
35+ "zig_objc-0.0.0-Ir_Sp5gTAQCvxxR7oVIrPXxXwsfKgVP7_wqoOQrZjFeK": {
36+ "name": "zig_objc",
37+ "url": "https://deps.files.ghostty.org/zig_objc-f356ed02833f0f1b8e84d50bed9e807bf7cdc0ae.tar.gz",
38+ "hash": "sha256-3YSvc3YlNW/NciyzCQnzsujXAmZ89XlxSqfqvArAjsw="
39+ },
40+ "zig_js-0.0.0-rjCAV-6GAADxFug7rDmPH-uM_XcnJ5NmuAMJCAscMjhi": {
41+ "name": "zig_js",
42+ "url": "https://deps.files.ghostty.org/zig_js-04db83c617da1956ac5adc1cb9ba1e434c1cb6fd.tar.gz",
43+ "hash": "sha256-TCAY5WAV05UEuAkDhq2c6Tk/ODgAhdnDI3O/flb8c6M="
44+ },
45+ "uucode-0.1.0-ZZjBPicPTQDlG6OClzn2bPu7ICkkkyWrTB6aRsBr-A1E": {
46+ "name": "uucode",
47+ "url": "https://github.com/jacobsandlund/uucode/archive/31655fba3c638229989cc524363ef5e3c7b580c1.tar.gz",
48+ "hash": "sha256-SzpYGhgG4B6Luf8eT35sKLobCxjmwEuo1Twk0jeu9g4="
49+ },
50+ "wayland-0.5.0-dev-lQa1khrMAQDJDwYFKpdH3HizherB7sHo5dKMECfvxQHe": {
51+ "name": "zig_wayland",
52+ "url": "https://deps.files.ghostty.org/zig_wayland-1b5c038ec10da20ed3a15b0b2a6db1c21383e8ea.tar.gz",
53+ "hash": "sha256-TxRrc17Q1Sf1IOO/cdPpP3LD0PpYOujt06SFH3B5Ek4="
54+ },
55+ "zf-0.10.3-OIRy8RuJAACKA3Lohoumrt85nRbHwbpMcUaLES8vxDnh": {
56+ "name": "zf",
57+ "url": "https://github.com/natecraddock/zf/archive/3c52637b7e937c5ae61fd679717da3e276765b23.tar.gz",
58+ "hash": "sha256-OwFdkorwTp4mJyvBXrTbtNmp1GnrbSkKDdrmc7d8RWg="
59+ },
60+ "gobject-0.3.0-Skun7ET3nQCqJhDL0KnF_X7M4L7o7JePsJBbrYpEr7UV": {
61+ "name": "gobject",
62+ "url": "https://deps.files.ghostty.org/gobject-2025-09-20-20-1.tar.zst",
63+ "hash": "sha256-SXiqGm81aUn6yq1wFXgNTAULdKOHS/Rzkp5OgNkkcXo="
64+ },
65+ "N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3": {
66+ "name": "imgui",
67+ "url": "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz",
68+ "hash": "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA="
69+ },
70+ "N-V-__8AAKLKpwC4H27Ps_0iL3bPkQb-z6ZVSrB-x_3EEkub": {
71+ "name": "freetype",
72+ "url": "https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz",
73+ "hash": "sha256-QnIB9dUVFnDQXB9bRb713aHy592XHvVPD+qqf/0quQw="
74+ },
75+ "N-V-__8AAJrvXQCqAT8Mg9o_tk6m0yf5Fz-gCNEOKLyTSerD": {
76+ "name": "libpng",
77+ "url": "https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz",
78+ "hash": "sha256-/syVtGzwXo4/yKQUdQ4LparQDYnp/fF16U/wQcrxoDo="
79+ },
80+ "N-V-__8AAB0eQwD-0MdOEBmz7intriBReIsIDNlukNVoNu6o": {
81+ "name": "zlib",
82+ "url": "https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz",
83+ "hash": "sha256-F+iIY/NgBnKrSRgvIXKBtvxNPHYr3jYZNeQ2qVIU0Fw="
84+ },
85+ "N-V-__8AAIrfdwARSa-zMmxWwFuwpXf1T3asIN7s5jqi9c1v": {
86+ "name": "fontconfig",
87+ "url": "https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz",
88+ "hash": "sha256-O6LdkhWHGKzsXKrxpxYEO1qgVcJ7CB2RSvPMtA3OilU="
89+ },
90+ "N-V-__8AAG3RoQEyRC2Vw7Qoro5SYBf62IHn3HjqtNVY6aWK": {
91+ "name": "libxml2",
92+ "url": "https://deps.files.ghostty.org/libxml2-2.11.5.tar.gz",
93+ "hash": "sha256-bCgFni4+60K1tLFkieORamNGwQladP7jvGXNxdiaYhU="
94+ },
95+ "N-V-__8AALiNBAA-_0gprYr92CjrMj1I5bqNu0TSJOnjFNSr": {
96+ "name": "gtk4_layer_shell",
97+ "url": "https://deps.files.ghostty.org/gtk4-layer-shell-1.1.0.tar.gz",
98+ "hash": "sha256-mChCgSYKXu9bT2OlXxbEv2p4ihAgptsDfssPcfozaYg="
99+ },
100+ "N-V-__8AAKw-DAAaV8bOAAGqA0-oD7o-HNIlPFYKRXSPT03S": {
101+ "name": "wayland_protocols",
102+ "url": "https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz",
103+ "hash": "sha256-XO3K3egbdeYPI+XoO13SuOtO+5+Peb16NH0UiusFMPg="
104+ },
105+ "N-V-__8AAG02ugUcWec-Ndp-i7JTsJ0dgF8nnJRUInkGLG7G": {
106+ "name": "harfbuzz",
107+ "url": "https://deps.files.ghostty.org/harfbuzz-11.0.0.tar.xz",
108+ "hash": "sha256-8WNRuv4hRyX+LB1bWfDZPkmQWkskeJn7kNcM/5U6K5s="
109+ },
110+ "N-V-__8AAGmZhABbsPJLfbqrh6JTHsXhY6qCaLAQyx25e0XE": {
111+ "name": "highway",
112+ "url": "https://deps.files.ghostty.org/highway-66486a10623fa0d72fe91260f96c892e41aceb06.tar.gz",
113+ "hash": "sha256-h9T4iT704I8iSXNgj/6/lCaKgTgLp5wS6IQZaMgKohI="
114+ },
115+ "N-V-__8AADcZkgn4cMhTUpIz6mShCKyqqB-NBtf_S2bHaTC-": {
116+ "name": "gettext",
117+ "url": "https://deps.files.ghostty.org/gettext-0.24.tar.gz",
118+ "hash": "sha256-yRhQPVk9cNr0hE0XWhPYFq+stmfAb7oeydzVACwVGLc="
119+ },
120+ "N-V-__8AAHjwMQDBXnLq3Q2QhaivE0kE2aD138vtX2Bq1g7c": {
121+ "name": "oniguruma",
122+ "url": "https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz",
123+ "hash": "sha256-ABqhIC54RI9MC/GkjHblVodrNvFtks4yB+zP1h2Z8qA="
124+ },
125+ "N-V-__8AAPlZGwBEa-gxrcypGBZ2R8Bse4JYSfo_ul8i2jlG": {
126+ "name": "sentry",
127+ "url": "https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz",
128+ "hash": "sha256-KsZJfMjWGo0xCT5HrduMmyxFsWsHBbszSoNbZCPDGN8="
129+ },
130+ "N-V-__8AALw2uwF_03u4JRkZwRLc3Y9hakkYV7NKRR9-RIZJ": {
131+ "name": "breakpad",
132+ "url": "https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz",
133+ "hash": "sha256-bMqYlD0amQdmzvYQd8Ca/1k4Bj/heh7+EijlQSttatk="
134+ },
135+ "N-V-__8AAHffAgDU0YQmynL8K35WzkcnMUmBVQHQ0jlcKpjH": {
136+ "name": "utfcpp",
137+ "url": "https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz",
138+ "hash": "sha256-/8ZooxDndgfTk/PBizJxXyI9oerExNbgV5oR345rWc8="
139+ },
140+ "N-V-__8AAAzZywE3s51XfsLbP9eyEw57ae9swYB9aGB6fCMs": {
141+ "name": "wuffs",
142+ "url": "https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz",
143+ "hash": "sha256-nkzSCr6W5sTG7enDBXEIhgEm574uLD41UVR2wlC+HBM="
144+ },
145+ "N-V-__8AADYiAAB_80AWnH1AxXC0tql9thT-R-DYO1gBqTLc": {
146+ "name": "pixels",
147+ "url": "https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz",
148+ "hash": "sha256-Veg7FtCRCCUCvxSb9FfzH0IJLFmCZQ4/+657SIcb8Ro="
149+ },
150+ "N-V-__8AABzkUgISeKGgXAzgtutgJsZc0-kkeqBBscJgMkvy": {
151+ "name": "glslang",
152+ "url": "https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz",
153+ "hash": "sha256-FKLtu1Ccs+UamlPj9eQ12/WXFgS0uDPmPmB26MCpl7U="
154+ },
155+ "N-V-__8AANb6pwD7O1WG6L5nvD_rNMvnSc9Cpg1ijSlTYywv": {
156+ "name": "spirv_cross",
157+ "url": "https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz",
158+ "hash": "sha256-tStvz8Ref6abHwahNiwVVHNETizAmZVVaxVsU7pmV+M="
159+ },
160+ "N-V-__8AAKrHGAAs2shYq8UkE6bGcR1QJtLTyOE_lcosMn6t": {
161+ "name": "wayland",
162+ "url": "https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz",
163+ "hash": "sha256-6kGR1o5DdnflHzqs3ieCmBAUTpMdOXoyfcYDXiw5xQ0="
164+ },
165+ "N-V-__8AAKYZBAB-CFHBKs3u4JkeiT4BMvyHu3Y5aaWF3Bbs": {
166+ "name": "plasma_wayland_protocols",
167+ "url": "https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz",
168+ "hash": "sha256-XFi6IUrNjmvKNCbcCLAixGqN2Zeymhs+KLrfccIN9EE="
169+ },
170+ "N-V-__8AAIC5lwAVPJJzxnCAahSvZTIlG-HhtOvnM1uh-66x": {
171+ "name": "jetbrains_mono",
172+ "url": "https://deps.files.ghostty.org/JetBrainsMono-2.304.tar.gz",
173+ "hash": "sha256-xXppHouCrQmLWWPzlZAy5AOPORCHr3cViFulkEYQXMQ="
174+ },
175+ "N-V-__8AAMVLTABmYkLqhZPLXnMl-KyN38R8UVYqGrxqO26s": {
176+ "name": "nerd_fonts_symbols_only",
177+ "url": "https://deps.files.ghostty.org/NerdFontsSymbolsOnly-3.4.0.tar.gz",
178+ "hash": "sha256-EWTRuVbUveJI17LwmYxDzJT1ICQxoVZKeTiVsec7DQQ="
179+ },
180+ "N-V-__8AAPZCAwDJ0OsIn2nbr3FMvBw68oiv-hC2pFuY1eLN": {
181+ "name": "iterm2_themes",
182+ "url": "https://github.com/mbadolato/iTerm2-Color-Schemes/releases/download/release-20251110-150531-d5f3d53/ghostty-themes.tgz",
183+ "hash": "sha256-VZq3L/cAAu7kLA5oqJYNjAZApoblfBtAzfdKVOuJPQI="
184+ }
185+}
+78,
-0
1@@ -0,0 +1,78 @@
2+{
3+ "nodes": {
4+ "flake-utils": {
5+ "inputs": {
6+ "systems": "systems"
7+ },
8+ "locked": {
9+ "lastModified": 1731533236,
10+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
11+ "owner": "numtide",
12+ "repo": "flake-utils",
13+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
14+ "type": "github"
15+ },
16+ "original": {
17+ "owner": "numtide",
18+ "repo": "flake-utils",
19+ "type": "github"
20+ }
21+ },
22+ "nixpkgs": {
23+ "locked": {
24+ "lastModified": 1764635402,
25+ "narHash": "sha256-6rYcajRLe2C5ZYnV1HYskJl+QAkhvseWTzbdQiTN9OI=",
26+ "owner": "nixos",
27+ "repo": "nixpkgs",
28+ "rev": "5f53b0d46d320352684242d000b36dcfbbf7b0bc",
29+ "type": "github"
30+ },
31+ "original": {
32+ "owner": "nixos",
33+ "repo": "nixpkgs",
34+ "type": "github"
35+ }
36+ },
37+ "root": {
38+ "inputs": {
39+ "zig2nix": "zig2nix"
40+ }
41+ },
42+ "systems": {
43+ "locked": {
44+ "lastModified": 1681028828,
45+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
46+ "owner": "nix-systems",
47+ "repo": "default",
48+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
49+ "type": "github"
50+ },
51+ "original": {
52+ "owner": "nix-systems",
53+ "repo": "default",
54+ "type": "github"
55+ }
56+ },
57+ "zig2nix": {
58+ "inputs": {
59+ "flake-utils": "flake-utils",
60+ "nixpkgs": "nixpkgs"
61+ },
62+ "locked": {
63+ "lastModified": 1764678235,
64+ "narHash": "sha256-NNQWR3DAufaH7fs6ZplfAv1xPHEc0Ne3Z0v4MNHCqSw=",
65+ "owner": "Cloudef",
66+ "repo": "zig2nix",
67+ "rev": "8b6ec85bccdf6b91ded19e9ef671205937e271e6",
68+ "type": "github"
69+ },
70+ "original": {
71+ "owner": "Cloudef",
72+ "repo": "zig2nix",
73+ "type": "github"
74+ }
75+ }
76+ },
77+ "root": "root",
78+ "version": 7
79+}
+54,
-0
1@@ -0,0 +1,54 @@
2+{
3+ description = "zmx - session persistence for terminal processes";
4+
5+ inputs = {
6+ zig2nix.url = "github:Cloudef/zig2nix";
7+ };
8+
9+ outputs =
10+ { zig2nix, ... }:
11+ let
12+ flake-utils = zig2nix.inputs.flake-utils;
13+ in
14+ (flake-utils.lib.eachDefaultSystem (
15+ system:
16+ let
17+ env = zig2nix.outputs.zig-env.${system} {
18+ zig = zig2nix.outputs.packages.${system}.zig-0_15_2;
19+ };
20+ in
21+ with builtins;
22+ with env.pkgs.lib;
23+ let
24+ zmx-package = env.package {
25+ src = cleanSource ./.;
26+ zigBuildFlags = [ "-Doptimize=ReleaseSafe" ];
27+ zigPreferMusl = true;
28+ };
29+ in
30+ {
31+ packages = {
32+ zmx = zmx-package;
33+ default = zmx-package;
34+ };
35+
36+ apps = {
37+ zmx = {
38+ type = "app";
39+ program = "${zmx-package}/bin/zmx";
40+ };
41+ default = {
42+ type = "app";
43+ program = "${zmx-package}/bin/zmx";
44+ };
45+
46+ build = env.app [ ] "zig build \"$@\"";
47+
48+ test = env.app [ ] "zig build test -- \"$@\"";
49+ };
50+
51+ devShells.default = env.mkShell {
52+ };
53+ }
54+ ));
55+}