{ pkgs, ... }: { nix = { package = pkgs.nixVersions.stable; gc = { user = "root"; automatic = true; interval = [{ Hour = 7; Minute = 0; Weekday = 0; }]; options = "--delete-older-than 7d"; }; settings = { trusted-users = [ "@admin" "fcuny" ]; experimental-features = [ "nix-command" "flakes" ]; }; }; system.defaults = { dock = { autohide = true; orientation = "left"; showhidden = false; show-recents = false; mru-spaces = false; # don’t rearrange spaces based on the most recent use }; finder.AppleShowAllExtensions = true; screencapture.location = "~/Documents/screenshots"; SoftwareUpdate.AutomaticallyInstallMacOSUpdates = true; }; fonts.packages = with pkgs; [ emacs-all-the-icons-fonts google-fonts roboto source-code-pro source-serif-pro source-sans-pro go-font ]; system.keyboard = { enableKeyMapping = true; remapCapsLockToControl = true; }; # Touch ID for sudo auth security.pam.enableSudoTouchIdAuth = true; services.nix-daemon.enable = true; system.defaults.CustomUserPreferences = { "com.apple.desktopservices" = { # Avoid creating .DS_Store files on network or USB volumes DSDontWriteNetworkStores = true; DSDontWriteUSBStores = true; }; }; programs.fish.enable = true; programs.fish.shellInit = '' # Nix if test -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish' source '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish' end # End Nix ''; # Required for homebrew on aarch64 environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ]; homebrew = { enable = true; onActivation.autoUpdate = true; onActivation.upgrade = true; casks = [ "1password-cli" "docker" "element" "emacs" "iterm2" "transmission" "vlc" "wireshark" ]; }; }