nixos/hosts/msft-mac/configuration.nix

73 lines
1.7 KiB
Nix
Raw Normal View History

{ self, pkgs, config, ... }: {
imports = [
./hotkeys.nix
../../modules/common
];
# To reflect hotkeys without a login cycle.
system.activationScripts.postActivation.text = ''
sudo -u ${config.user.name} /System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
'';
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
neofetch
git-credential-manager
];
user.name = "jmug";
system.primaryUser = config.user.name;
homebrew = {
enable = true;
onActivation = {
autoUpdate = true;
cleanup = "uninstall";
upgrade = true;
};
caskArgs = {
no_quarantine = true;
};
taps = [];
brews = [];
casks = [
"ghostty"
"secretive"
"karabiner-elements"
"raycast"
"logi-options+"
"insta360-link-controller"
"displaylink"
"yubico-authenticator" # TODO: Defer to a module that manages yubikeys for darwin.
];
};
fonts.packages = with pkgs; [
nerd-fonts.bigblue-terminal
];
users.users.${config.user.name}.home = config.user.homeDirectory;
nixpkgs.config.allowUnfree = true;
programs.zsh.enable = true;
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes";
# Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 6;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
}