main
nix 140 lines 3.67 KB
Raw
1 {
2 description = "NixOS.org infra";
3
4 nixConfig.extra-substituters = [ "https://nixos-infra-dev.cachix.org" ];
5 nixConfig.extra-trusted-public-keys = [
6 "nixos-infra-dev.cachix.org-1:OvwhqPPs81cInrtRAX0K7dG6lw8wXcQEX4xyp4AnSXw="
7 ];
8
9 inputs = {
10 agenix = {
11 url = "github:ryantm/agenix";
12 inputs.nixpkgs.follows = "nixpkgs";
13 };
14
15 ai-robots-txt.url = "https://github.com/ai-robots-txt/ai.robots.txt/raw/refs/heads/main/robots.json";
16 ai-robots-txt.flake = false;
17
18 fast-nix-gc.url = "github:Mic92/fast-nix-gc";
19 fast-nix-gc.inputs.nixpkgs.follows = "nixpkgs";
20 fast-nix-gc.inputs.nix-darwin.follows = "darwin";
21 fast-nix-gc.inputs.treefmt-nix.follows = "treefmt-nix";
22
23 # This is https://github.com/P3TERX/GeoLite.mmdb
24 # Atlernative https://github.com/sapics/ip-location-db
25 geolite2-asn-mmdb.url = "https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-ASN.mmdb";
26 geolite2-asn-mmdb.flake = false;
27
28 hydra = {
29 url = "github:NixOS/hydra/revert-nix-2.35.0";
30 inputs.nixpkgs.follows = "nixpkgs";
31 inputs.treefmt-nix.follows = "treefmt-nix";
32 };
33
34 nix-index = {
35 url = "github:nix-community/nix-index";
36 inputs.nixpkgs.follows = "nixpkgs";
37 };
38
39 nixocaine.url = "git+https://git.madhouse-project.org/iocaine/nixocaine";
40 nixocaine.inputs.nixpkgs.follows = "nixpkgs";
41
42 rfc39 = {
43 url = "github:NixOS/rfc39";
44 inputs.nixpkgs.follows = "nixpkgs";
45 };
46
47 nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05-small";
48 nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
49
50 flake-parts = {
51 url = "github:hercules-ci/flake-parts";
52 inputs.nixpkgs-lib.follows = "nixpkgs";
53 };
54
55 darwin = {
56 url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
57 inputs.nixpkgs.follows = "nixpkgs";
58 };
59
60 flake-utils.url = "github:numtide/flake-utils";
61
62 freescout = {
63 url = "git+https://cyberchaos.dev/e1mo/freescout-nix-flake.git";
64 inputs = {
65 flake-utils.follows = "flake-utils";
66 nixpkgs.follows = "nixpkgs";
67 };
68 };
69
70 treefmt-nix = {
71 url = "github:numtide/treefmt-nix";
72 inputs.nixpkgs.follows = "nixpkgs-unstable";
73 };
74
75 colmena = {
76 url = "github:zhaofengli/colmena";
77 inputs = {
78 flake-utils.follows = "flake-utils";
79 nixpkgs.follows = "nixpkgs";
80 stable.follows = "nixpkgs";
81 };
82 };
83
84 disko = {
85 url = "github:nix-community/disko";
86 inputs.nixpkgs.follows = "nixpkgs";
87 };
88
89 srvos = {
90 url = "github:numtide/srvos";
91 inputs.nixpkgs.follows = "nixpkgs";
92 };
93
94 simple-nixos-mailserver = {
95 url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-26.05";
96 inputs.nixpkgs.follows = "nixpkgs";
97 };
98
99 sops-nix = {
100 url = "github:Mic92/sops-nix";
101 inputs.nixpkgs.follows = "nixpkgs";
102 };
103
104 nixpkgs-swh = {
105 url = "github:nix-community/nixpkgs-swh";
106 inputs.nixpkgs.follows = "nixpkgs";
107 };
108
109 ofborg = {
110 url = "github:NixOS/ofborg";
111 inputs.nixpkgs.follows = "nixpkgs";
112 };
113
114 ofborg-viewer = {
115 url = "github:NixOS/ofborg-viewer";
116 flake = false;
117 };
118
119 };
120 outputs =
121 inputs@{ flake-parts, ... }:
122 flake-parts.lib.mkFlake { inherit inputs; } {
123 systems = [
124 "x86_64-linux"
125 "aarch64-linux"
126 "x86_64-darwin"
127 "aarch64-darwin"
128 ];
129 imports = [
130 ./build/flake-module.nix
131 ./builders/flake-module.nix
132 ./dns/flake-module.nix
133 ./formatter/flake-module.nix
134 ./checks/flake-module.nix
135 ./terraform/flake-module.nix
136 ./non-critical-infra/flake-module.nix
137 ./macs/flake-module.nix
138 ];
139 };
140 }