Files
nix-config/lib/macosSystem.nix
2024-03-13 16:31:26 +08:00

44 lines
1.2 KiB
Nix

{
lib,
inputs,
darwin-modules,
home-modules ? [],
myvars,
system,
genSpecialArgs,
...
}: let
inherit (inputs) nixpkgs home-manager nix-darwin;
specialArgs = genSpecialArgs system;
in
nix-darwin.lib.darwinSystem {
inherit system specialArgs;
modules =
darwin-modules
++ [
({lib, ...}: {
nixpkgs.pkgs = import nixpkgs {inherit system;};
# make `nix run nixpkgs#nixpkgs` use the same nixpkgs as the one used by this flake.
nix.registry.nixpkgs.flake = nixpkgs;
environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}";
# make `nix repl '<nixpkgs>'` use the same nixpkgs as the one used by this flake.
# discard all the default paths, and only use the one from this flake.
nix.nixPath = lib.mkForce ["/etc/nix/inputs"];
})
]
++ (
lib.optionals ((lib.lists.length home-modules) > 0)
[
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = specialArgs;
home-manager.users."${myvars.username}".imports = home-modules;
}
]
);
}