{ description = "GioUI development environment"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ # Build tools pkg-config gcc go # Core graphics and windowing libGL wayland libxkbcommon # X11 support (optional but commonly used) xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi xorg.libXfixes xorg.libxcb # Font rendering fontconfig freetype # Vulkan support (optional) vulkan-headers vulkan-loader ]; shellHook = '' echo "GioUI development environment ready!" echo "Go version: $(go version)" ''; LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ libGL wayland libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi xorg.libXfixes fontconfig freetype vulkan-loader ]; }; } ); }