diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 89 |
1 files changed, 47 insertions, 42 deletions
@@ -1,8 +1,8 @@ { - description = "Minimal Gio (gioui.org) development environment with Go support"; + description = "GioUI development environment"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; @@ -11,57 +11,62 @@ self, nixpkgs, flake-utils, - ... }: flake-utils.lib.eachDefaultSystem ( system: let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - - gioDeps = with pkgs; [ - go - gopls - git - pkg-config - # X11 + Wayland deps - xorg.libX11 - xorg.libXcursor - xorg.libXrandr - xorg.libXinerama - xorg.libXi - xorg.libXext - libGL - wayland - wayland-protocols - libxkbcommon - # Text rendering - cairo - pango - harfbuzz - freetype - fontconfig - ]; + pkgs = nixpkgs.legacyPackages.${system}; in { devShells.default = pkgs.mkShell { - name = "gio-dev"; - packages = gioDeps; + 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 = '' - export CGO_ENABLED=1 - export PKG_CONFIG_PATH=${pkgs.lib.makeSearchPath "lib/pkgconfig" gioDeps} - export GIO_USE_WAYLAND=1 - echo "✅ Gio development shell ready." - echo "Run 'go run .' to start your app." + echo "GioUI development environment ready!" + echo "Go version: $(go version)" ''; - }; - apps.default = { - type = "app"; - program = "${pkgs.go}/bin/go run ."; + LD_LIBRARY_PATH = + with pkgs; + lib.makeLibraryPath [ + libGL + wayland + libxkbcommon + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libXfixes + fontconfig + freetype + vulkan-loader + ]; }; } ); |
