nix machine / user configurations
at terra 1.6 kB view raw
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}