dotfiles/system/darwin.nix

41 lines
936 B
Nix

{ inputs
}:
{ system
, username
, email
, hostname
, extraHomeManagerModules ? [ ]
}:
let
systemConfig = import ../module/configuration.nix { inherit hostname username; };
homeManagerConfig = import ../module/home-manager.nix { inherit email; };
in
inputs.darwin.lib.darwinSystem {
inherit system;
modules = [
{
users.users.${username}.home = "/Users/${username}";
}
{
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (inputs.nixpkgs.lib.getName pkg) [
"copilot-language-server"
];
}
systemConfig
inputs.home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users."${username}" =
inputs.nixpkgs.lib.modules.mkMerge (
[ homeManagerConfig ] ++ extraHomeManagerModules
);
home-manager.backupFileExtension = "backup";
}
];
}