flake.nix: add per repo xxxModules outputs
This commit is contained in:
parent
d7ccaec699
commit
02d78b5171
1 changed files with 40 additions and 13 deletions
53
flake.nix
53
flake.nix
|
|
@ -92,13 +92,25 @@
|
|||
type = types.lazyAttrsOf (
|
||||
types.submodule (
|
||||
{ name, ... }:
|
||||
let
|
||||
darwinModules = repoModuleOption name "darwin";
|
||||
flakeModules = repoModuleOption name "flake";
|
||||
homeModules = repoModuleOption name "homeManager";
|
||||
nixosModules = repoModuleOption name "nixos";
|
||||
in
|
||||
{
|
||||
options = {
|
||||
inherit
|
||||
darwinModules
|
||||
flakeModules
|
||||
homeModules
|
||||
nixosModules
|
||||
;
|
||||
modules = {
|
||||
nixos = repoModuleOption name "nixos";
|
||||
homeManager = repoModuleOption name "homeManager";
|
||||
darwin = repoModuleOption name "darwin";
|
||||
flake = repoModuleOption name "flake";
|
||||
darwin = darwinModules;
|
||||
flake = flakeModules;
|
||||
homeManager = homeModules;
|
||||
nixos = nixosModules;
|
||||
};
|
||||
overlays = mkOption {
|
||||
# uniq -> ordered: https://github.com/NixOS/nixpkgs/issues/147052
|
||||
|
|
@ -143,15 +155,30 @@
|
|||
nixpkgs.overlays = [ overlay ];
|
||||
};
|
||||
});
|
||||
repos = lib.mapAttrs (name: r: {
|
||||
modules = {
|
||||
nixos = r.nixosModules or r.modules or { };
|
||||
homeManager = r.homeModules or { };
|
||||
darwin = r.darwinModules or { };
|
||||
flake = r.flakeModules or { };
|
||||
};
|
||||
overlays = r.overlays or { };
|
||||
}) repos;
|
||||
repos = mapAttrs (
|
||||
name: r:
|
||||
let
|
||||
darwinModules = r.darwinModules or { };
|
||||
flakeModules = r.flakeModules or { };
|
||||
homeModules = r.homeModules or { };
|
||||
nixosModules = r.nixosModules or r.modules or { };
|
||||
in
|
||||
{
|
||||
inherit
|
||||
darwinModules
|
||||
flakeModules
|
||||
homeModules
|
||||
nixosModules
|
||||
;
|
||||
modules = {
|
||||
darwin = darwinModules;
|
||||
flake = flakeModules;
|
||||
homeManager = homeModules;
|
||||
nixos = nixosModules;
|
||||
};
|
||||
overlays = r.overlays or { };
|
||||
}
|
||||
) repos;
|
||||
};
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue