{ 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" ]; use-xdg-base-directories = true; }; }; # Enables Touch ID for sudo prompts. security.pam.services.sudo_local.touchIdAuth = true; programs = { zsh = { enable = true; enableCompletion = true; enableAutosuggestions = true; enableSyntaxHighlighting = true; interactiveShellInit = '' eval "$(jump shell)" ''; }; }; 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"; }; systemPackages = with pkgs; [ wget fastfetch btop nerd-fonts.hack jump pre-commit ]; }; # Don't touch this unless needed. system = { configurationRevision = self.rev or self.dirtyRev or null; stateVersion = 6; }; nixpkgs.hostPlatform = "aarch64-darwin"; }