diff options
Diffstat (limited to 'nix/machines/darwin-shared.nix')
-rw-r--r-- | nix/machines/darwin-shared.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/nix/machines/darwin-shared.nix b/nix/machines/darwin-shared.nix new file mode 100644 index 0000000..6c727f8 --- /dev/null +++ b/nix/machines/darwin-shared.nix @@ -0,0 +1,91 @@ +{ 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" + ]; + }; +} |