1{
2 description = "config!!!";
3
4 inputs.nixpkgs.url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz";
5 inputs.chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
6
7 outputs =
8 flakeInputs:
9 let
10 lib = flakeInputs.nixpkgs.lib;
11 tlib = import ./lib lib;
12 l = lib;
13
14 makePkgsSet =
15 system:
16 import ./pkgs-set {
17 inherit
18 system
19 lib
20 tlib
21 flakeInputs
22 ;
23 };
24 allPkgsSets = tlib.genSystems makePkgsSet;
25
26 miscApps =
27 l.mapAttrs
28 (
29 _:
30 l.mapAttrs (
31 _: cmd: {
32 type = "app";
33 program = cmd;
34 }
35 )
36 )
37 (
38 l.mapAttrs (_: set: {
39 deploy-ncr = l.getExe set.terra.deploy-ncr;
40 dns = l.getExe set.terra.dnsmngmt;
41 }) allPkgsSets
42 );
43 in
44 {
45 lib = tlib;
46 nixosConfigurations = import ./hosts { inherit lib tlib allPkgsSets; };
47 homeConfigurations = import ./users { inherit lib tlib allPkgsSets; };
48
49 # legacyPackages = l.mapAttrs (_: set: set.pkgs // { inherit (set) inputs; }) allPkgsSets;
50 # packages = l.mapAttrs (_: set: set.exported) allPkgsSets;
51 apps = miscApps;
52
53 # topology = lib.mapAttrs (_: pkgs:
54 # import inputs.nixtopo {
55 # inherit pkgs;
56 # modules = [{nixosConfigurations = {inherit (inputs.self.nixosConfigurations) wolumonde;};}];
57 # })
58 # allPkgs;
59
60 devShells = import ./shells { inherit lib allPkgsSets; };
61 };
62}