{ self, pkgs, ... }: { # Only use homebrew for casks. homebrew.enable = true; nix = { gc = { automatic = true; interval = { Hour = 3; Minute = 15; Weekday = 7; }; options = "--delete-older-than 30d"; }; optimise = { automatic = true; interval = { Hour = 3; Minute = 15; Weekday = 7; }; }; settings.experimental-features = "nix-command flakes"; }; # Enables Touch ID for sudo prompts. security.pam.services.sudo_local.touchIdAuth = true; environment = { variables = rec { XDG_CACHE_HOME = "$HOME/.cache"; XDG_CONFIG_HOME = "$HOME/.config"; XDG_DATA_HOME = "$HOME/.local/share"; XDG_STATE_HOME = "$HOME/.local/state"; }; shellAliases = { l = "ls -alh"; ll = "ls -l"; ls = "ls --color=tty"; ff = "clear;fastfetch"; nb = "nix-build"; nix-rebuild = "sudo darwin-rebuild switch"; }; systemPackages = with pkgs; [ wget fastfetch btop ]; }; # Don't touch this unless needed. system = { configurationRevision = self.rev or self.dirtyRev or null; stateVersion = 6; }; nixpkgs.hostPlatform = "aarch64-darwin"; }