{ hostname, username }: { nix = { gc = { automatic = true; options = "--delete-older-than 30d"; }; optimise.automatic = true; settings = { builders-use-substitutes = true; experimental-features = [ "flakes" "nix-command" ]; substituters = [ "https://nix-community.cachix.org" ]; trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; trusted-users = [ "@wheel" ]; warn-dirty = false; }; }; programs.zsh.enable = true; programs.gnupg.agent.enable = true; networking.hostName = hostname; homebrew = { enable = true; onActivation.cleanup = "zap"; brews = [ "cocoapods" ]; casks = [ "aerospace" "citrix-workspace" "caffeine" "chatgpt" "docker-desktop" "dracula-xcode" "google-chrome" "ghostty" "karabiner-elements" "logseq" "microsoft-outlook" "microsoft-teams" "nextcloud" "nordvpn" "parsec" "proton-pass" "protonvpn" "raycast" "sf-symbols" "slack" "zen" ]; taps = [ "dracula/install" "homebrew/services" "nikitabobko/tap" ]; }; services = { tailscale.enable = true; }; system = { primaryUser = username; defaults = { dock = { autohide = true; autohide-time-modifier = 0.1; expose-animation-duration = 0.0; mru-spaces = false; orientation = "right"; show-recents = false; static-only = true; tilesize = 32; wvous-br-corner = 1; }; finder = { AppleShowAllExtensions = true; AppleShowAllFiles = true; CreateDesktop = false; FXPreferredViewStyle = "Nlsv"; FXRemoveOldTrashItems = true; QuitMenuItem = true; ShowPathbar = true; ShowStatusBar = true; _FXShowPosixPathInTitle = true; }; hitoolbox.AppleFnUsageType = "Change Input Source"; menuExtraClock = { IsAnalog = false; Show24Hour = true; ShowDate = 0; ShowDayOfWeek = false; }; NSGlobalDomain = { AppleInterfaceStyle = "Dark"; AppleMeasurementUnits = "Centimeters"; AppleShowAllExtensions = true; AppleShowAllFiles = true; AppleTemperatureUnit = "Celsius"; InitialKeyRepeat = 14; KeyRepeat = 1; NSWindowShouldDragOnGesture = true; "com.apple.mouse.tapBehavior" = 1; }; spaces.spans-displays = true; trackpad = { Clicking = true; TrackpadRightClick = true; }; }; stateVersion = 6; }; time.timeZone = "Europe/Berlin"; }