Files
nixos/hosts/macbook/configuration.nix
T

97 lines
2.2 KiB
Nix
Raw Normal View History

2025-08-07 15:54:12 -07:00
{ self, pkgs, config, ... }: {
2025-08-06 18:36:54 -07:00
imports = [
../common/darwin
2025-08-07 15:54:12 -07:00
../../modules/common
./hotkeys.nix
2025-08-06 18:36:54 -07:00
];
# To reflect hotkeys without a login cycle.
system.activationScripts.postActivation.text = ''
2025-08-07 15:54:12 -07:00
sudo -u ${config.user.name} /System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
2025-08-06 18:36:54 -07:00
'';
2025-08-17 19:09:06 -07:00
power.sleep.display = 10;
2025-08-09 15:15:06 -07:00
# Popups for special characters for some keys.
system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = false;
2025-05-03 23:42:03 -07:00
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
neofetch
];
2025-08-07 15:54:12 -07:00
user.name = "jmug";
system.primaryUser = config.user.name;
2025-05-26 14:57:42 -07:00
2025-05-03 23:42:03 -07:00
homebrew = {
enable = true;
onActivation = {
autoUpdate = true;
cleanup = "uninstall";
upgrade = true;
};
caskArgs = {
no_quarantine = true;
};
brews = [
"raylib"
2025-08-17 19:09:26 -07:00
"watchman"
2025-09-05 18:52:47 -07:00
"vite"
2025-09-30 10:53:59 -07:00
"pipx"
"codex"
2025-12-14 01:52:50 -08:00
"python@3.11"
"glow"
"act"
"chromaprint"
2025-05-03 23:42:03 -07:00
];
casks = [
"ghostty"
"kicad"
"secretive"
2025-08-07 15:54:12 -07:00
"gcc-arm-embedded" # Maybe defer this to individual porject flakes.
2025-08-04 20:04:54 -07:00
"karabiner-elements"
2025-08-06 18:36:54 -07:00
"raycast"
"insta360-link-controller"
2025-08-07 15:59:56 -07:00
"yubico-authenticator" # TODO: Defer to a module that manages yubikeys for darwin.
2025-08-07 16:38:35 -07:00
"google-chrome"
2025-08-09 15:15:06 -07:00
"nrf-connect"
"segger-jlink"
"docker-desktop"
2025-08-17 19:09:26 -07:00
"whatsapp"
2025-09-05 18:52:47 -07:00
"slack"
2025-09-30 10:53:59 -07:00
"discord"
2025-09-30 11:21:25 -07:00
"claude-code"
2025-12-14 01:52:50 -08:00
"calibre"
"rsyncui"
2025-05-03 23:42:03 -07:00
];
};
fonts.packages = with pkgs; [
2025-05-26 14:57:42 -07:00
nerd-fonts.bigblue-terminal
2025-05-03 23:42:03 -07:00
];
2025-08-07 15:54:12 -07:00
users.users.${config.user.name}.home = config.user.homeDirectory;
2025-05-03 23:42:03 -07:00
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
2025-08-07 15:54:12 -07:00
system.stateVersion = 6;
2025-05-03 23:42:03 -07:00
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
}