# This file controls the pinned version of nixpkgs we use for our Nix environment # as well as which versions of package we use, including their overrides. { config ? { } }: let # For testing local version of nixpkgs #nixpkgsSrc = (import { }).lib.cleanSource "/home/jakubgs/work/nixpkgs"; # We follow release 23-11 of nixpkgs # https://github.com/NixOS/nixpkgs/releases/tag/23.11 nixpkgsSrc = builtins.fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/224fd9a362487ab2894dac0df161c84ab1d8880b.tar.gz"; sha256 = "sha256:1syvl39pi1h8lf5gkd9h7ksn5hp34cj7pa3abr59217kv0bdklhy"; }; # Status specific configuration defaults defaultConfig = { android_sdk.accept_license = true; allowUnfree = true; }; # Override some packages and utilities pkgsOverlay = import ./overlay.nix; # Fix for lack of Android SDK for M1 Macs. systemOverride = let inherit (builtins) currentSystem getEnv; envSystemOverride = getEnv "NIXPKGS_SYSTEM_OVERRIDE"; in if envSystemOverride != "" then envSystemOverride else currentSystem; in # import nixpkgs with a config override (import nixpkgsSrc) { config = defaultConfig // config; system = systemOverride; overlays = [ pkgsOverlay ]; }