1{ self, ... }:
2let
3
4 mkModule =
5 {
6 name ? "sylveon",
7 class,
8 modules,
9 }:
10 {
11 _class = class;
12 _file = "${self.outPath}/flake.nix#${class}Modules.${name}";
13
14 imports = modules;
15 };
16
17in
18{
19 flake = {
20 nixosModules = {
21 sylveon = mkModule {
22 class = "nixos";
23 modules = [
24 "${self}/modules/nixos/default.nix"
25 "${self}/modules/base/default.nix"
26
27 ];
28 };
29 };
30
31 homeManagerModules = {
32 sylveon = mkModule {
33 class = "homeManager";
34 modules = [ "${self}/modules/home/default.nix" ];
35 };
36 };
37 };
38}