Files
cyper-mac/darwin/default.nix

66 lines
1.6 KiB
Nix

{ pkgs, inputs, self, primaryUser, ... }: {
imports = [
./homebrew.nix
./settings.nix
./yabai.nix
inputs.home-manager.darwinModules.home-manager
inputs.nix-homebrew.darwinModules.nix-homebrew
];
# nix config
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
max-jobs = "auto"; # Use all CPU cores
cores = 0; # Use all cores per build
# disabled due to https://github.com/NixOS/nix/issues/7273
# auto-optimise-store = true;
};
enable = true; # using determinate installer
# Garbage collection
gc = {
automatic = true;
interval = { Weekday = 7; }; # Run weekly
options = "--delete-older-than 30d";
};
};
# Disable Docs
documentation = {
enable = true;
doc.enable = false; # Skip large documentation
man.enable = true; # Keep man pages
info.enable = false; # Skip info pages
};
nixpkgs.config = { allowUnfree = true; };
# homebrew installation manager
nix-homebrew = {
user = primaryUser;
enable = true;
autoMigrate = true;
};
# home-manager config
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${primaryUser} = { imports = [ ../home ]; };
extraSpecialArgs = { inherit inputs self primaryUser; };
};
# macOS-specific settings
programs.fish.enable = true;
environment.shells = [ pkgs.fish ];
system.primaryUser = primaryUser;
users.users.${primaryUser} = {
home = "/Users/${primaryUser}";
shell = pkgs.fish;
};
environment = {
systemPath = [ "/opt/homebrew/bin" ];
pathsToLink = [ "/Applications" ];
};
}