mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-06-01 13:08:38 +03:00
72 lines
2.2 KiB
Nix
72 lines
2.2 KiB
Nix
{
|
|
description = "👻";
|
|
|
|
inputs = {
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
|
|
# We want to stay as up to date as possible but need to be careful that the
|
|
# glibc versions used by our dependencies from Nix are compatible with the
|
|
# system glibc that the user is building for.
|
|
nixpkgs-stable.url = "github:nixos/nixpkgs/release-23.05";
|
|
|
|
zig = {
|
|
url = "github:mitchellh/zig-overlay";
|
|
inputs = {
|
|
nixpkgs.follows = "nixpkgs-stable";
|
|
flake-compat.follows = "";
|
|
};
|
|
};
|
|
|
|
zls = {
|
|
url = "github:zigtools/zls/master";
|
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs-unstable,
|
|
nixpkgs-stable,
|
|
zig,
|
|
zls,
|
|
...
|
|
}:
|
|
builtins.foldl' nixpkgs-stable.lib.recursiveUpdate {} (builtins.map (system: let
|
|
pkgs-stable = nixpkgs-stable.legacyPackages.${system};
|
|
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
|
|
in {
|
|
devShell.${system} = pkgs-stable.callPackage ./nix/devShell.nix {
|
|
inherit (pkgs-unstable) tracy;
|
|
inherit (zls.packages.${system}) zls;
|
|
|
|
zig = zig.packages.${system}."0.13.0";
|
|
wraptest = pkgs-stable.callPackage ./nix/wraptest.nix {};
|
|
};
|
|
|
|
packages.${system} = let
|
|
mkArgs = optimize: {
|
|
inherit (pkgs-unstable) zig_0_13 lib;
|
|
inherit optimize;
|
|
|
|
revision = self.shortRev or self.dirtyShortRev or "dirty";
|
|
};
|
|
in rec {
|
|
ghostty-debug = pkgs-stable.callPackage ./nix/package.nix (mkArgs "Debug");
|
|
ghostty-releasesafe = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseSafe");
|
|
ghostty-releasefast = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseFast");
|
|
|
|
ghostty = ghostty-releasefast;
|
|
default = ghostty;
|
|
};
|
|
|
|
formatter.${system} = pkgs-stable.alejandra;
|
|
|
|
# Our supported systems are the same supported systems as the Zig binaries.
|
|
}) (builtins.attrNames zig.packages));
|
|
|
|
nixConfig = {
|
|
extra-substituters = ["https://ghostty.cachix.org"];
|
|
extra-trusted-public-keys = ["ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns="];
|
|
};
|
|
}
|