From 2296a9c3d51ff7d9db1edb6e65376df21f485486 Mon Sep 17 00:00:00 2001 From: "quentin@aristote.fr" Date: Sun, 27 Aug 2023 14:00:52 +0200 Subject: flake: fix packages output type --- flake.nix | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 6226ca7..76e6291 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,18 @@ devenvModules.personal = import ./modules/devenv; nixosModules.personal = import ./modules/nixos; homeModules.personal = import ./modules/home-manager; - overlays.personal = self.overlays.default; + overlays.personal = _: super: let + my-packages = import ./pkgs super; + in { + inherit + (super.lib.recursiveUpdate super { + personal = my-packages; + lib.personal = my-packages.lib; + }) + personal + lib + ; + }; lib = import ./lib; @@ -53,28 +64,34 @@ pkgs, lib, ... - }: { + }: let + flatten = let + aux = path: attrs: + if lib.isAttrs attrs && ! lib.isDerivation attrs + then lib.foldlAttrs (prev: name: value: prev // aux (path ++ [name]) value) {} attrs + else + ( + if lib.isDerivation attrs + then {"${lib.concatStringsSep "_" path}" = attrs;} + else {} + ); + in + aux []; + in { _module.args.pkgs = import nixpkgs { inherit system; - overlays = [nur.overlay]; + overlays = [nur.overlay self.overlays.personal]; config = {}; }; - overlayAttrs = { - inherit - (lib.recursiveUpdate pkgs { - personal = config.packages; - lib.personal = config.packages.lib; - }) - personal - lib - ; - }; - packages = import ./pkgs pkgs; + packages = flatten pkgs.personal; devenv.shells.default = { imports = [self.devenvModules.personal]; - languages.nix.enable = true; + languages.nix = { + enable = true; + packaging.enable = true; + }; }; }; }; -- cgit v1.2.3