mirror of
https://github.com/nix-community/nix-on-droid.git
synced 2025-11-08 11:36:07 +01:00
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{
|
|
description = "Nix-enabled environment for your Android device";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager, flake-utils }:
|
|
let
|
|
overlay = nixpkgs.lib.composeManyExtensions (import ./overlays);
|
|
|
|
pkgs' = import nixpkgs {
|
|
system = "aarch64-linux";
|
|
overlays = [ overlay ];
|
|
};
|
|
|
|
app = flake-utils.lib.mkApp {
|
|
drv = pkgs'.callPackage ./nix-on-droid { };
|
|
};
|
|
in
|
|
{
|
|
overlays.default = overlay;
|
|
|
|
lib.nixOnDroidConfiguration =
|
|
{ config
|
|
, system ? "aarch64-linux" # unused, only supported variant
|
|
, extraModules ? [ ]
|
|
, extraSpecialArgs ? { }
|
|
, pkgs ? pkgs'
|
|
, home-manager-path ? home-manager.outPath
|
|
}:
|
|
if system != "aarch64-linux" then
|
|
throw "aarch64-linux is the only currently supported system type"
|
|
else
|
|
import ./modules {
|
|
inherit config extraModules extraSpecialArgs home-manager-path pkgs;
|
|
isFlake = true;
|
|
};
|
|
|
|
apps.aarch64-linux = {
|
|
default = app;
|
|
nix-on-droid = app;
|
|
};
|
|
}
|
|
// flake-utils.lib.eachDefaultSystem (system: {
|
|
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
|
|
});
|
|
}
|