mirror of
				https://github.com/lightpanda-io/browser.git
				synced 2025-10-29 15:13:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   description = "headless browser designed for AI and automation";
 | |
| 
 | |
|   inputs = {
 | |
|     nixpkgs.url = "github:nixos/nixpkgs/release-25.05";
 | |
|     flake-utils.url = "github:numtide/flake-utils";
 | |
|   };
 | |
| 
 | |
|   outputs =
 | |
|     {
 | |
|       nixpkgs,
 | |
|       flake-utils,
 | |
|       ...
 | |
|     }:
 | |
|     flake-utils.lib.eachDefaultSystem (
 | |
|       system:
 | |
|       let
 | |
|         pkgs = import nixpkgs {
 | |
|           inherit system;
 | |
|         };
 | |
| 
 | |
|         # We need crtbeginS.o for building.
 | |
|         crtFiles = pkgs.runCommand "crt-files" { } ''
 | |
|           mkdir -p $out/lib
 | |
|           cp -r ${pkgs.gcc.cc}/lib/gcc $out/lib/gcc
 | |
|         '';
 | |
| 
 | |
|         # This build pipeline is very unhappy without an FHS-compliant env.
 | |
|         fhs = pkgs.buildFHSEnv {
 | |
|           name = "fhs-shell";
 | |
|           multiArch = true;
 | |
|           targetPkgs =
 | |
|             pkgs: with pkgs; [
 | |
|               # Build Tools
 | |
|               zig
 | |
|               zls
 | |
|               python3
 | |
|               pkg-config
 | |
|               cmake
 | |
|               gperf
 | |
| 
 | |
|               # GCC
 | |
|               gcc
 | |
|               gcc.cc.lib
 | |
|               crtFiles
 | |
| 
 | |
|               # Libaries
 | |
|               expat.dev
 | |
|               glib.dev
 | |
|               glibc.dev
 | |
|               zlib
 | |
|             ];
 | |
|         };
 | |
|       in
 | |
|       {
 | |
|         devShells.default = fhs.env;
 | |
|       }
 | |
|     );
 | |
| }
 | 
