{ inputs = { self.submodules = true; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; c3c = { url = "github:c3lang/c3c"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, c3c, ... }: let pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [(_: _: {c3c = c3c.packages.x86_64-linux.default;})]; }; in { packages.x86_64-linux.default = pkgs.stdenv.mkDerivation { pname = "c3term"; version = "0.1.0"; src = ./.; buildInputs = [ pkgs.c3c pkgs.wayland-scanner pkgs.pkg-config pkgs.wayland-protocols ]; nativeBuildInputs = [ pkgs.libxkbcommon pkgs.wayland pkgs.libGL ]; buildPhase = '' ./get_wl.sh c3c build c3term-linux-x64 ''; installPhase = '' mkdir -p $out/bin/ cp ./build/c3term $out/bin/ ''; meta = { homepage = "https://git.mtgmonkey.net/Andromeda/c3term"; license = pkgs.lib.licenses.gpl3Plus; platforms = ["x86_64-linux"]; }; }; devShells.x86_64-linux.default = pkgs.mkShell { inputsFrom = [self.packages.x86_64-linux.default]; }; }; }