86 lines
1.5 KiB
Nix
86 lines
1.5 KiB
Nix
{ 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";
|
|
}
|