Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 23 additions & 11 deletions android/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
);
}
61 changes: 36 additions & 25 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand All @@ -46,39 +53,39 @@
buildInputs = with pkgs; [
# Core development tools
zigPkg

# Build tools
gnumake
pkg-config

# GTK and related libraries for Linux backend
gtk3
gtk4
glib
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
];
Expand Down Expand Up @@ -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;
}
);
}