|
21 | 21 | }; |
22 | 22 |
|
23 | 23 | outputs = |
24 | | - { nixpkgs |
25 | | - , home-manager |
26 | | - , darwin |
27 | | - , vscode-server |
28 | | - , saber-overlay |
29 | | - , flake-utils |
30 | | - , rnix-lsp |
31 | | - , ... |
| 24 | + { |
| 25 | + nixpkgs, |
| 26 | + home-manager, |
| 27 | + darwin, |
| 28 | + vscode-server, |
| 29 | + saber-overlay, |
| 30 | + flake-utils, |
| 31 | + rnix-lsp, |
| 32 | + ... |
32 | 33 | }: |
33 | 34 | let |
34 | 35 | mkPrivate = import ./private; |
35 | 36 |
|
36 | | - mkNixosSystem = { modules, additionalOverlays ? [ ], igm ? { } }: |
| 37 | + mkNixosSystem = |
| 38 | + { |
| 39 | + modules, |
| 40 | + additionalOverlays ? [ ], |
| 41 | + igm ? { }, |
| 42 | + }: |
37 | 43 | let |
38 | 44 | system = "x86_64-linux"; |
39 | 45 | in |
40 | 46 | nixpkgs.lib.nixosSystem { |
41 | 47 | inherit system; |
42 | 48 | modules = [ |
43 | | - ({ ... }: { |
44 | | - inherit igm; |
45 | | - }) |
46 | | - ({ ... }: { |
47 | | - imports = [ "${vscode-server}/default.nix" ]; |
48 | | - }) |
| 49 | + ( |
| 50 | + { ... }: |
| 51 | + { |
| 52 | + inherit igm; |
| 53 | + } |
| 54 | + ) |
| 55 | + ( |
| 56 | + { ... }: |
| 57 | + { |
| 58 | + imports = [ "${vscode-server}/default.nix" ]; |
| 59 | + } |
| 60 | + ) |
49 | 61 | (import ./system.nix { |
50 | 62 | isLinux = true; |
51 | 63 | }) |
52 | 64 | home-manager.nixosModules.home-manager |
53 | 65 | ({ |
54 | 66 | nixpkgs = import ./nixpkgs/config.nix { |
55 | | - additionalOverlays = [ saber-overlay.overlays.default ] ++ additionalOverlays ++ [ |
56 | | - (self: super: { |
57 | | - rnix-lsp = rnix-lsp.defaultPackage.${system}; |
58 | | - }) |
59 | | - ]; |
| 67 | + additionalOverlays = |
| 68 | + [ saber-overlay.overlays.default ] |
| 69 | + ++ additionalOverlays |
| 70 | + ++ [ |
| 71 | + (self: super: { |
| 72 | + rnix-lsp = rnix-lsp.defaultPackage.${system}; |
| 73 | + }) |
| 74 | + ]; |
60 | 75 | }; |
61 | 76 | }) |
62 | 77 | ] ++ modules; |
63 | 78 | }; |
64 | 79 |
|
65 | | - mkDarwinSystem = { isM1 ? false, additionalOverlays ? [ ], modules ? [ ], computerName, hostName }: |
| 80 | + mkDarwinSystem = |
| 81 | + { |
| 82 | + isM1 ? false, |
| 83 | + additionalOverlays ? [ ], |
| 84 | + modules ? [ ], |
| 85 | + computerName, |
| 86 | + hostName, |
| 87 | + }: |
66 | 88 | let |
67 | 89 | system = if isM1 then "aarch64-darwin" else "x86_64-darwin"; |
68 | 90 | in |
69 | 91 | darwin.lib.darwinSystem { |
70 | 92 | inherit system; |
71 | | - modules = [ |
72 | | - ({ ... }: |
| 93 | + modules = |
| 94 | + [ |
| 95 | + ( |
| 96 | + { ... }: |
| 97 | + { |
| 98 | + igm = { |
| 99 | + inherit isM1; |
| 100 | + mode = "personal"; |
| 101 | + }; |
| 102 | + nixpkgs = import ./nixpkgs/config.nix { |
| 103 | + isDarwin = true; |
| 104 | + additionalOverlays = |
| 105 | + [ saber-overlay.overlays.default ] |
| 106 | + ++ additionalOverlays |
| 107 | + ++ [ |
| 108 | + (self: super: { |
| 109 | + rnix-lsp = rnix-lsp.defaultPackage.${system}; |
| 110 | + }) |
| 111 | + ]; |
| 112 | + }; |
| 113 | + } |
| 114 | + ) |
| 115 | + (import ./system.nix { isDarwin = true; }) |
| 116 | + home-manager.darwinModules.home-manager |
| 117 | + ] |
| 118 | + ++ modules |
| 119 | + ++ [ |
73 | 120 | { |
74 | | - igm = { |
75 | | - inherit isM1; |
76 | | - mode = "personal"; |
| 121 | + networking = { |
| 122 | + inherit computerName hostName; |
| 123 | + localHostName = hostName; |
77 | 124 | }; |
78 | | - nixpkgs = import ./nixpkgs/config.nix { |
79 | | - isDarwin = true; |
80 | | - additionalOverlays = [ saber-overlay.overlays.default ] ++ additionalOverlays ++ [ |
81 | | - (self: super: { |
82 | | - rnix-lsp = rnix-lsp.defaultPackage.${system}; |
83 | | - }) |
84 | | - ]; |
85 | | - }; |
86 | | - }) |
87 | | - (import ./system.nix { isDarwin = true; }) |
88 | | - home-manager.darwinModules.home-manager |
89 | | - ] ++ modules ++ [ |
90 | | - { |
91 | | - networking = { |
92 | | - inherit computerName hostName; |
93 | | - localHostName = hostName; |
94 | | - }; |
95 | | - services.nix-daemon.enable = true; |
96 | | - } |
97 | | - ]; |
| 125 | + services.nix-daemon.enable = true; |
| 126 | + } |
| 127 | + ]; |
98 | 128 | }; |
99 | 129 | in |
100 | 130 | { |
101 | | - lib = { inherit mkNixosSystem mkDarwinSystem mkPrivate; }; |
| 131 | + lib = { |
| 132 | + inherit mkNixosSystem mkDarwinSystem mkPrivate; |
| 133 | + }; |
102 | 134 | nixosConfigurations.ci-home = mkNixosSystem { |
103 | 135 | igm = { |
104 | 136 | pure = true; |
|
136 | 168 | computerName = "igm-darwin-ci-m1"; |
137 | 169 | hostName = "igm-darwin-ci-m1"; |
138 | 170 | }; |
139 | | - } // ( |
| 171 | + } |
| 172 | + // ( |
140 | 173 | let |
141 | 174 | supportedSystems = [ |
142 | 175 | "aarch64-linux" |
|
147 | 180 | "x86_64-linux" |
148 | 181 | ]; |
149 | 182 | in |
150 | | - (flake-utils.lib.eachSystem supportedSystems |
151 | | - (system: |
| 183 | + (flake-utils.lib.eachSystem supportedSystems ( |
| 184 | + system: |
152 | 185 | let |
153 | | - nixpkgs-config-public = (import ./nixpkgs/config.nix rec { |
154 | | - isDarwin = nixpkgs.legacyPackages.${system}.lib.hasSuffix "-darwin" system; |
| 186 | + nixpkgs-config-public = ( |
| 187 | + import ./nixpkgs/config.nix rec { |
| 188 | + isDarwin = nixpkgs.legacyPackages.${system}.lib.hasSuffix "-darwin" system; |
155 | 189 |
|
156 | | - # There are lots of wrongfully broken packages on Darwin |
157 | | - # https://github.com/NixOS/nixpkgs/pull/173671 |
158 | | - allowBroken = isDarwin; |
159 | | - }); |
160 | | - pkgs = import nixpkgs |
161 | | - { |
| 190 | + # There are lots of wrongfully broken packages on Darwin |
| 191 | + # https://github.com/NixOS/nixpkgs/pull/173671 |
| 192 | + allowBroken = isDarwin; |
| 193 | + } |
| 194 | + ); |
| 195 | + pkgs = |
| 196 | + import nixpkgs { |
162 | 197 | inherit system; |
163 | 198 | inherit (nixpkgs-config-public) config overlays; |
164 | | - } // saber-overlay.packages.${system}; |
| 199 | + } |
| 200 | + // saber-overlay.packages.${system}; |
165 | 201 | in |
166 | | - rec { |
| 202 | + { |
| 203 | + formatter = pkgs.nixfmt-rfc-style; |
167 | 204 | packages = import ./shells { inherit pkgs; }; |
168 | | - })) |
| 205 | + } |
| 206 | + )) |
169 | 207 | ); |
170 | 208 | } |
0 commit comments