2023-06-20 19:28:14 -05:00
|
|
|
{ inputs, overlays, ... }:
|
2023-05-11 09:32:05 -05:00
|
|
|
let
|
|
|
|
|
mac = {
|
|
|
|
|
system ? "aarch64-darwin",
|
|
|
|
|
name,
|
2023-06-20 19:28:14 -05:00
|
|
|
channel ? inputs.nixunstable,
|
2023-05-11 09:32:05 -05:00
|
|
|
extraMods ? []
|
|
|
|
|
}:
|
|
|
|
|
let
|
2023-06-20 11:52:10 -05:00
|
|
|
nixpkgs = import channel {
|
2023-06-20 15:55:02 -05:00
|
|
|
inherit system overlays;
|
2023-06-20 11:52:10 -05:00
|
|
|
};
|
2023-06-20 19:28:14 -05:00
|
|
|
in inputs.darwin.lib.darwinSystem {
|
2023-05-11 09:32:05 -05:00
|
|
|
inherit system;
|
|
|
|
|
specialArgs = { inherit nixpkgs; };
|
|
|
|
|
modules = [
|
|
|
|
|
{ nixpkgs.overlays = overlays; }
|
2023-06-20 19:28:14 -05:00
|
|
|
inputs.hm.darwinModules.home-manager
|
2023-06-20 11:00:12 -05:00
|
|
|
{
|
2023-06-20 15:55:02 -05:00
|
|
|
home-manager = {
|
|
|
|
|
useGlobalPkgs = true;
|
|
|
|
|
users."gregory.hellings" = import ../home/home.nix;
|
|
|
|
|
extraSpecialArgs = {
|
2023-06-20 19:28:14 -05:00
|
|
|
inherit inputs;
|
2023-06-20 15:55:02 -05:00
|
|
|
gnome = false;
|
|
|
|
|
gui = true;
|
|
|
|
|
home = "/Users/gregory.hellings";
|
|
|
|
|
};
|
2023-06-20 11:00:12 -05:00
|
|
|
};
|
2023-06-20 15:55:02 -05:00
|
|
|
users.users."gregory.hellings".home = "/Users/gregory.hellings";
|
2023-06-20 11:00:12 -05:00
|
|
|
}
|
2023-05-11 09:32:05 -05:00
|
|
|
../modules-all
|
|
|
|
|
../modules-darwin
|
|
|
|
|
./${name}
|
|
|
|
|
] ++ extraMods;
|
|
|
|
|
};
|
2023-06-20 11:52:10 -05:00
|
|
|
in rec {
|
2023-06-20 15:55:02 -05:00
|
|
|
# Duplicate all the things, because nix-darwin does different things with case sensitivity
|
|
|
|
|
# depending on where you live
|
|
|
|
|
C02G48H8MD6R = mac { system = "x86_64-darwin"; name = "work"; };
|
|
|
|
|
c02g48h8md6r = C02G48H8MD6R;
|
|
|
|
|
|
2023-05-11 09:32:05 -05:00
|
|
|
la23002 = mac { name = "ivr"; };
|
2023-06-20 11:52:10 -05:00
|
|
|
LA23002 = la23002;
|
2023-05-11 09:32:05 -05:00
|
|
|
}
|