1{
2 description = "config!!!";
3
4 inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
5 inputs.nixpkgs.flake = false;
6
7 outputs =
8 flakeInputs:
9 let
10 lib = import "${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}