{ description = "Fyne build script"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/24.05"; }; outputs = { self, nixpkgs }: let supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system); in { devShells = forAllSystems (system: let pkgs = import nixpkgs { inherit system; }; in { default = with pkgs; mkShell ({ packages = [ clang ] ++ (if stdenv.isLinux then [ (pkgs.writeShellScriptBin "build" '' go build -v -o /tmp/rpcfetch ./fetch # wayland support is partially broken at the moment #go build -v -tags wayland -o /tmp/wl-rpcfetch ./fetch '') vulkan-headers libxkbcommon wayland xorg.libX11 xorg.libXcursor xorg.libXfixes xorg.libXrandr xorg.libXinerama xorg.libXi xorg.libXxf86vm glfw-wayland pkg-config ] else if stdenv.isDarwin then [ darwin.apple_sdk_11_0.frameworks.Foundation darwin.apple_sdk_11_0.frameworks.Metal darwin.apple_sdk_11_0.frameworks.QuartzCore darwin.apple_sdk_11_0.frameworks.AppKit darwin.apple_sdk_11_0.MacOSX-SDK ] else [ ]); } // (if stdenv.isLinux then { LD_LIBRARY_PATH = "${vulkan-loader}/lib"; } else { })); } ); }; }