|
5 | 5 | # - https://discourse.nixos.org/t/differences-between-nix-channels/13998
|
6 | 6 | # How to update the revision
|
7 | 7 | # - `nix flake update --commit-lock-file` # https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-update.html
|
8 |
| - # TODO: Use nixpkgs-24.05-darwin only in macOS. See GH-910 |
9 | 8 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
10 |
| - edge-nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; |
| 9 | + edge-nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # Unfit for darwin, might be broken. See https://github.com/NixOS/nixpkgs/issues/107466 |
| 10 | + nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin"; |
11 | 11 | # https://github.com/nix-community/home-manager/blob/release-24.05/docs/manual/nix-flakes.md
|
12 |
| - home-manager = { |
| 12 | + home-manager-linux = { |
13 | 13 | url = "github:nix-community/home-manager/release-24.05";
|
14 | 14 | inputs.nixpkgs.follows = "nixpkgs";
|
15 | 15 | };
|
| 16 | + home-manager-darwin = { |
| 17 | + url = "github:nix-community/home-manager/release-24.05"; |
| 18 | + inputs.nixpkgs.follows = "nixpkgs-darwin"; |
| 19 | + }; |
16 | 20 | nixos-wsl = {
|
17 | 21 | url = "github:nix-community/NixOS-WSL/2405.5.4";
|
18 | 22 | # https://github.com/nix-community/NixOS-WSL/blob/5a965cb108fb1f30b29a26dbc29b473f49e80b41/flake.nix#L5
|
|
36 | 40 | self,
|
37 | 41 | nixpkgs,
|
38 | 42 | edge-nixpkgs,
|
39 |
| - home-manager, |
| 43 | + nixpkgs-darwin, |
| 44 | + home-manager-linux, |
| 45 | + home-manager-darwin, |
40 | 46 | ...
|
41 | 47 | }@inputs:
|
42 | 48 | let
|
|
51 | 57 |
|
52 | 58 | homemade-packages = forAllSystems (
|
53 | 59 | system:
|
54 |
| - (nixpkgs.legacyPackages.${system}.callPackage ./pkgs { |
55 |
| - edge-pkgs = edge-nixpkgs.legacyPackages.${system}; |
56 |
| - }) |
| 60 | + ( |
| 61 | + (if (nixpkgs.lib.strings.hasSuffix "-darwin" system) then nixpkgs-darwin else nixpkgs) |
| 62 | + .legacyPackages.${system}.callPackage |
| 63 | + ./pkgs |
| 64 | + { edge-pkgs = edge-nixpkgs.legacyPackages.${system}; } |
| 65 | + ) |
57 | 66 | );
|
58 | 67 | in
|
59 | 68 | {
|
|
164 | 173 | # https://github.com/NixOS/nix/issues/6448#issuecomment-1132855605
|
165 | 174 | {
|
166 | 175 | name = "home-manager";
|
167 |
| - value = mkApp home-manager.defaultPackage.${system}; |
| 176 | + # FIXME: Use home-manager-darwin in macOS |
| 177 | + value = mkApp home-manager-linux.defaultPackage.${system}; |
168 | 178 | }
|
169 | 179 | ]
|
170 | 180 | )
|
|
209 | 219 | };
|
210 | 220 |
|
211 | 221 | x86-macOS = {
|
212 |
| - pkgs = nixpkgs.legacyPackages.x86_64-darwin; |
| 222 | + pkgs = nixpkgs-darwin.legacyPackages.x86_64-darwin; |
213 | 223 | extraSpecialArgs = {
|
214 | 224 | homemade-pkgs = homemade-packages.x86_64-darwin;
|
215 | 225 | edge-pkgs = edge-nixpkgs.legacyPackages.x86_64-darwin;
|
216 | 226 | };
|
217 | 227 | };
|
218 |
| - |
219 |
| - aarch64-macOS = { |
220 |
| - pkgs = nixpkgs.legacyPackages.aarch64-darwin; |
221 |
| - extraSpecialArgs = { |
222 |
| - homemade-pkgs = homemade-packages.aarch64-darwin; |
223 |
| - edge-pkgs = edge-nixpkgs.legacyPackages.aarch64-darwin; |
224 |
| - }; |
225 |
| - }; |
226 | 228 | in
|
227 | 229 | {
|
228 |
| - "kachick@desktop" = home-manager.lib.homeManagerConfiguration ( |
| 230 | + "kachick@desktop" = home-manager-linux.lib.homeManagerConfiguration ( |
229 | 231 | x86-Linux
|
230 | 232 | // {
|
231 | 233 | modules = [
|
|
236 | 238 | }
|
237 | 239 | );
|
238 | 240 |
|
239 |
| - "kachick@wsl-ubuntu" = home-manager.lib.homeManagerConfiguration ( |
| 241 | + "kachick@wsl-ubuntu" = home-manager-linux.lib.homeManagerConfiguration ( |
240 | 242 | x86-Linux
|
241 | 243 | // {
|
242 | 244 | modules = [
|
|
246 | 248 | }
|
247 | 249 | );
|
248 | 250 |
|
249 |
| - "nixos@wsl-nixos" = home-manager.lib.homeManagerConfiguration ( |
| 251 | + "nixos@wsl-nixos" = home-manager-linux.lib.homeManagerConfiguration ( |
250 | 252 | x86-Linux
|
251 | 253 | // {
|
252 | 254 | modules = [
|
|
257 | 259 | }
|
258 | 260 | );
|
259 | 261 |
|
260 |
| - "kachick@macbook" = home-manager.lib.homeManagerConfiguration ( |
| 262 | + "kachick@macbook" = home-manager-darwin.lib.homeManagerConfiguration ( |
261 | 263 | x86-macOS // { modules = [ ./home-manager/kachick.nix ]; }
|
262 | 264 | );
|
263 | 265 |
|
264 |
| - "kachick@lima" = home-manager.lib.homeManagerConfiguration ( |
| 266 | + "kachick@lima" = home-manager-darwin.lib.homeManagerConfiguration ( |
265 | 267 | x86-Linux
|
266 | 268 | // {
|
267 | 269 | modules = [
|
|
271 | 273 | }
|
272 | 274 | );
|
273 | 275 |
|
274 |
| - "[email protected]" = home-manager.lib.homeManagerConfiguration ( |
| 276 | + "[email protected]" = home-manager-linux.lib.homeManagerConfiguration ( |
275 | 277 | x86-Linux
|
276 | 278 | // {
|
277 | 279 | # Prefer "kachick" over "common" only here.
|
|
284 | 286 | }
|
285 | 287 | );
|
286 | 288 |
|
287 |
| - "github-actions@macos-13" = home-manager.lib.homeManagerConfiguration ( |
| 289 | + "github-actions@macos-13" = home-manager-darwin.lib.homeManagerConfiguration ( |
288 | 290 | x86-macOS
|
289 | 291 | // {
|
290 | 292 | # Prefer "kachick" over "common" only here.
|
|
296 | 298 | }
|
297 | 299 | );
|
298 | 300 |
|
299 |
| - "github-actions@macos-15" = home-manager.lib.homeManagerConfiguration ( |
300 |
| - aarch64-macOS |
301 |
| - // { |
302 |
| - # Prefer "kachick" over "common" only here. |
303 |
| - # Using values as much as possible as actual values to create a robust CI |
304 |
| - modules = [ |
305 |
| - ./home-manager/kachick.nix |
306 |
| - { home.username = "runner"; } |
307 |
| - ]; |
308 |
| - } |
309 |
| - ); |
310 |
| - |
311 |
| - "user@linux-cli" = home-manager.lib.homeManagerConfiguration ( |
| 301 | + "user@linux-cli" = home-manager-linux.lib.homeManagerConfiguration ( |
312 | 302 | x86-Linux
|
313 | 303 | // {
|
314 | 304 | modules = [
|
|
0 commit comments