{ pkgs, ... }: { services.nix-daemon.enable = true; nix = { package = pkgs.nixFlakes; settings = { experimental-features = [ "nix-command" "flakes" ]; }; }; # in order to install things like 1password's extensions nixpkgs.config.allowUnfree = true; programs.zsh.enable = true; # Required for homebrew on aarch64 environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ]; homebrew = { enable = true; onActivation.autoUpdate = true; onActivation.upgrade = true; brews = [ "aspell" # spelling "kind" # to run local k8s cluster "envoy" # to do some testing with envoy ]; taps = [ "homebrew/cask-fonts" ]; casks = [ "1password-cli" "docker" "element" "emacs" "font-monaspace" # https://github.com/githubnext/monaspace "font-source-code-pro" "iterm2" "netnewswire" "transmission" "vlc" "wireshark" "zoom" ]; }; users.users.fcuny.home = "/Users/fcuny"; system.defaults.dock.autohide = true; system.defaults.dock.orientation = "left"; system.defaults.dock.showhidden = false; system.defaults.dock.show-recents = false; # don’t rearrange spaces based on the most recent use system.defaults.dock.mru-spaces = false; system.defaults.finder.AppleShowAllExtensions = true; system.defaults.screencapture.location = "~/Documents/screenshots"; system.defaults.CustomUserPreferences = { "com.apple.desktopservices" = { # Avoid creating .DS_Store files on network or USB volumes DSDontWriteNetworkStores = true; DSDontWriteUSBStores = true; }; }; # Touch ID for sudo auth security.pam.enableSudoTouchIdAuth = true; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.fcuny = import ../../home/darwin.nix; }