summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--flake.lock4
-rw-r--r--flake.nix89
2 files changed, 49 insertions, 44 deletions
diff --git a/flake.lock b/flake.lock
index 0d6154b..aa43e24 100644
--- a/flake.lock
+++ b/flake.lock
@@ -22,13 +22,13 @@
"locked": {
"lastModified": 1760878510,
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
- "owner": "NixOS",
+ "owner": "nixos",
"repo": "nixpkgs",
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
"type": "github"
},
"original": {
- "owner": "NixOS",
+ "owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
diff --git a/flake.nix b/flake.nix
index 2be9687..1d94e98 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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
+ ];
};
}
);