diff --git a/android/flake.nix b/android/flake.nix index 326794a..179ef8d 100644 --- a/android/flake.nix +++ b/android/flake.nix @@ -9,14 +9,22 @@ zig.url = "github:mitchellh/zig-overlay"; }; - outputs = { self, nixpkgs, devshell, flake-utils, android, zig }: + outputs = + { + self, + nixpkgs, + devshell, + flake-utils, + android, + zig, + }: { overlay = final: prev: { inherit (self.packages.${final.system}) android-sdk zig; }; } - // - flake-utils.lib.eachSystem [ "x86_64-linux" ] (system: + // flake-utils.lib.eachSystem [ "x86_64-linux" ] ( + system: let pkgs = import nixpkgs { inherit system; @@ -30,17 +38,21 @@ { packages = { zig = zig.packages.${system}.master; - android-sdk = android.sdk.${system} (sdkPkgs: with sdkPkgs; [ - # Useful packages for building and testing. - build-tools-33-0-1 - cmdline-tools-latest - platform-tools - platforms-android-21 - ndk-25-1-8937393 - ]); + android-sdk = android.sdk.${system} ( + sdkPkgs: with sdkPkgs; [ + # Useful packages for building and testing. + build-tools-33-0-1 + cmdline-tools-latest + platform-tools + platforms-android-21 + ndk-25-1-8937393 + ] + ); }; devShell = import ./devshell.nix { inherit pkgs; }; + + formatter = pkgs.nixfmt-tree; } ); } diff --git a/flake.nix b/flake.nix index 1f12061..9795aa3 100644 --- a/flake.nix +++ b/flake.nix @@ -4,15 +4,22 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; - + zig-overlay = { url = "github:mitchellh/zig-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { nixpkgs, flake-utils, zig-overlay, ... }: - flake-utils.lib.eachDefaultSystem (system: + outputs = + { + nixpkgs, + flake-utils, + zig-overlay, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: let pkgs = import nixpkgs { inherit system; @@ -23,21 +30,21 @@ zigPkg = pkgs.stdenv.mkDerivation rec { pname = "zig"; version = "0.14.1"; - + src = pkgs.fetchurl { url = "https://ziglang.org/download/${version}/zig-x86_64-linux-${version}.tar.xz"; sha256 = "sha256-e+ar3r+pcMYTjRZbNI0EZOhPFvUx5xyyDA4FL64djI0="; }; - + installPhase = '' mkdir -p $out/bin cp zig $out/bin/ chmod +x $out/bin/zig - + mkdir -p $out/lib cp -r lib/* $out/lib/ ''; - + dontFixup = true; }; in @@ -46,11 +53,11 @@ buildInputs = with pkgs; [ # Core development tools zigPkg - + # Build tools gnumake pkg-config - + # GTK and related libraries for Linux backend gtk3 gtk4 @@ -58,27 +65,27 @@ cairo pango gdk-pixbuf - + # Android development (optional) android-tools - + # OpenGL/Graphics libGL libGLU mesa - + # Audio libraries alsa-lib pipewire - + # Development utilities gdb valgrind strace - + # Code formatting and linting zls # Zig Language Server - + # Version control git ]; @@ -119,19 +126,23 @@ echo " zig build transition" echo " zig build weather" echo "" - + # Set up pkg-config paths for GTK export PKG_CONFIG_PATH="${pkgs.gtk3}/lib/pkgconfig:${pkgs.gtk4}/lib/pkgconfig:$PKG_CONFIG_PATH" - + # Set up library paths - export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath [ - pkgs.gtk3 - pkgs.gtk4 - pkgs.libGL - pkgs.mesa - pkgs.alsa-lib - ]}:$LD_LIBRARY_PATH" + export LD_LIBRARY_PATH="${ + pkgs.lib.makeLibraryPath [ + pkgs.gtk3 + pkgs.gtk4 + pkgs.libGL + pkgs.mesa + pkgs.alsa-lib + ] + }:$LD_LIBRARY_PATH" ''; }; - }); + formatter = pkgs.nixfmt-tree; + } + ); }