{ description = "WezTerm with vertical (side) tab bar support — fork of wezterm/wezterm (#3537 / PR #7574)"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; # Submodules aren't available via flake inputs for path/github refs reliably, # so pin them here and link into the tree at build time (same approach as upstream nix/). freetype2 = { url = "github:freetype/freetype/VER-2-13-3"; flake = false; }; harfbuzz = { url = "github:harfbuzz/harfbuzz/11.2.1"; flake = false; }; libpng = { url = "github:pnggroup/libpng/v1.6.44"; flake = false; }; zlib = { url = "github:madler/zlib/v1.3.1"; flake = false; }; }; outputs = inputs@{ self, ... }: let perSystemOutputs = inputs.flake-utils.lib.eachDefaultSystem ( system: let overlays = [ (import inputs.rust-overlay) ]; pkgs = import inputs.nixpkgs { inherit system overlays; }; inherit (inputs.nixpkgs) lib; inherit (pkgs) stdenv; nativeBuildInputs = with pkgs; [ installShellFiles ncurses # tic for terminfo pkg-config python3 ] ++ lib.optional stdenv.isDarwin perl; buildInputs = with pkgs; [ fontconfig openssl zlib ] ++ lib.optionals stdenv.isLinux [ libxkbcommon wayland libx11 libxcb libxcb-util libxcb-image libxcb-keysyms libxcb-wm # contains xcb-ewmh among others ] ++ lib.optionals stdenv.isDarwin ([ libiconv ]); libPath = lib.makeLibraryPath ( with pkgs; [ libxcb-image libGL vulkan-loader ] ); rustPlatform = pkgs.makeRustPlatform { cargo = pkgs.rust-bin.stable.latest.minimal; rustc = pkgs.rust-bin.stable.latest.minimal; }; in { packages.default = rustPlatform.buildRustPackage (finalAttrs: { inherit buildInputs nativeBuildInputs; pname = "wezterm"; src = ./.; # Version: `-