summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorquentin@aristote.fr <quentin@aristote.fr>2023-08-27 14:00:52 +0200
committerquentin@aristote.fr <quentin@aristote.fr>2023-08-27 16:31:26 +0200
commit2296a9c3d51ff7d9db1edb6e65376df21f485486 (patch)
treefeb41140559291d8334f2485fba8f2e1b2d9fb28 /flake.nix
parentde6dfea61b996c5e52a47842b3b54e1b9a390a91 (diff)
flake: fix packages output type
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix47
1 files changed, 32 insertions, 15 deletions
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;
+ };
};
};
};