From 0b83ab6bf1fba291bdd2df552a318582958fa82c Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Fri, 3 Dec 2021 09:33:11 -0800 Subject: [PATCH] flake.nix: Clean up, allow overriding pkgs `outputs.overlays` is supposed to be an attribute set of overlays, and `outputs.overlay` should contain a single overlay. --- flake.nix | 46 +++++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/flake.nix b/flake.nix index a6d91b5..4b97efa 100644 --- a/flake.nix +++ b/flake.nix @@ -9,32 +9,24 @@ }; }; - outputs = { self, nixpkgs, home-manager, flake-utils }: - { - overlays = import ./overlays; - } // - flake-utils.lib.eachSystem [ - "aarch64-linux" - "i686-linux" - ] - (system: - let pkgs = import nixpkgs { - inherit system; - overlays = self.overlays; - }; in - rec { - lib = { - nix-on-droid = { config }: import ./modules { - inherit pkgs config; - isFlake = true; - home-manager = (import home-manager { }); - }; - }; + outputs = { self, nixpkgs, home-manager, flake-utils }: let + supportedSystems = [ "aarch64-linux" "i686-linux" ]; + in flake-utils.lib.eachSystem supportedSystems (system: let + defaultPkgs = import nixpkgs { + inherit system; + overlays = [ self.overlay ]; + }; + in rec { + lib.nix-on-droid = { pkgs ? defaultPkgs, config }: import ./modules { + inherit pkgs home-manager config; + isFlake = true; + }; - apps.nix-on-droid = flake-utils.lib.mkApp { - drv = (pkgs.callPackage ./nix-on-droid { }); - }; - defaultApp = apps.nix-on-droid; - } - ); + apps.nix-on-droid = flake-utils.lib.mkApp { + drv = (defaultPkgs.callPackage ./nix-on-droid { }); + }; + defaultApp = apps.nix-on-droid; + }) // { + overlay = nixpkgs.lib.composeManyExtensions (import ./overlays); + }; }