mirror of
https://github.com/cupcakearmy/nix-macos.git
synced 2025-04-01 13:02:43 +00:00
90 lines
1.9 KiB
Nix
90 lines
1.9 KiB
Nix
{
|
|
pkgs,
|
|
host,
|
|
flake,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
nix.settings.experimental-features = "nix-command flakes";
|
|
|
|
# Set Git commit hash for darwin-version.
|
|
system.configurationRevision = flake.rev or flake.dirtyRev or null;
|
|
|
|
# Used for backwards compatibility, please read the changelog before changing.
|
|
# $ darwin-rebuild changelog
|
|
system.stateVersion = 5;
|
|
nixpkgs.hostPlatform = host.platform;
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# Nix Darwin
|
|
# https://daiderd.com/nix-darwin/manual/index.html
|
|
|
|
system.defaults = {
|
|
# Security
|
|
screensaver.askForPassword = true;
|
|
screensaver.askForPasswordDelay = 0;
|
|
loginwindow.GuestEnabled = false;
|
|
|
|
# Dock
|
|
dock = {
|
|
autohide = true;
|
|
orientation = "left";
|
|
show-recents = false;
|
|
persistent-apps = [
|
|
"/Applications/Arc.app"
|
|
"/Applications/Ghostty.app"
|
|
"/Applications/VSCodium.app"
|
|
"/Applications/Spotify.app"
|
|
"/System/Applications/System Settings.app"
|
|
];
|
|
persistent-others = [ ];
|
|
};
|
|
|
|
# Finder
|
|
finder = {
|
|
AppleShowAllExtensions = true;
|
|
ShowPathbar = true;
|
|
};
|
|
|
|
# Trackpad
|
|
NSGlobalDomain = {
|
|
InitialKeyRepeat = 25;
|
|
KeyRepeat = 2;
|
|
"com.apple.mouse.tapBehavior" = 1;
|
|
"com.apple.trackpad.scaling" = 0.875;
|
|
};
|
|
trackpad = {
|
|
Dragging = true;
|
|
Clicking = true;
|
|
TrackpadRightClick = true;
|
|
};
|
|
};
|
|
|
|
# Input devices
|
|
system.keyboard = {
|
|
enableKeyMapping = true;
|
|
remapCapsLockToEscape = true;
|
|
};
|
|
|
|
# Other
|
|
system.startup.chime = false;
|
|
|
|
users.users.${host.username} = {
|
|
home = "/Users/${host.username}";
|
|
shell = pkgs.fish;
|
|
};
|
|
programs.fish.enable = true;
|
|
environment.shells = [ pkgs.fish ];
|
|
|
|
homebrew = {
|
|
enable = true;
|
|
casks = (import ./cask.nix) ++ (lib.attrByPath [ "extras" "casks" ] [ ] host);
|
|
taps = [ "lihaoyun6/tap" ];
|
|
onActivation = {
|
|
autoUpdate = true;
|
|
cleanup = "zap";
|
|
};
|
|
};
|
|
}
|