98 lines
1.8 KiB
Nix
98 lines
1.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
# Apple Silicon + nix-darwin basics
|
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
|
nix.enable = false; # Determinate manages Nix
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
system.primaryUser = "danny";
|
|
|
|
# Shells & dev ergonomics
|
|
programs.fish.enable = true;
|
|
environment.shells = [ pkgs.fish ];
|
|
users.users.danny.shell = pkgs.fish;
|
|
|
|
programs.direnv.enable = true;
|
|
programs.direnv.nix-direnv.enable = true;
|
|
|
|
# ollama
|
|
imports = [../ollama.nix];
|
|
services.ollama = {
|
|
enable = true;
|
|
};
|
|
|
|
# Networking (macOS-safe)
|
|
networking = {
|
|
# Set if you want a specific hostname in macOS UI as well:
|
|
hostName = "Daniel-Macbook-Air";
|
|
knownNetworkServices = [ "Wi-Fi" "Thunderbolt Bridge" ];
|
|
};
|
|
|
|
# macOS niceties
|
|
security.pam.services.sudo_local.touchIdAuth = true;
|
|
|
|
system.defaults = {
|
|
# Keyboard
|
|
NSGlobalDomain = {
|
|
AppleShowAllExtensions = true;
|
|
ApplePressAndHoldEnabled = true;
|
|
"com.apple.mouse.tapBehavior" = 1;
|
|
"com.apple.sound.beep.volume" = 0.0;
|
|
"com.apple.sound.beep.feedback" = 0;
|
|
};
|
|
|
|
# Finder & Dock
|
|
finder.AppleShowAllExtensions = true;
|
|
dock.autohide = true;
|
|
dock.mru-spaces = false;
|
|
};
|
|
|
|
# Environment
|
|
environment.variables = {
|
|
DBT_USER = "DNTH";
|
|
EDITOR = "nvim";
|
|
VISUAL = "nvim";
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
ripgrep
|
|
wget
|
|
# busybox #TODO: doesn't run on darwin
|
|
|
|
azure-cli
|
|
gh
|
|
git
|
|
jujutsu
|
|
|
|
gnupg
|
|
coreutils
|
|
openssl
|
|
neofetch
|
|
btop
|
|
zoxide
|
|
tldr
|
|
fzf
|
|
|
|
cowsay
|
|
lolcat
|
|
alacritty
|
|
|
|
vscodium
|
|
zed-editor
|
|
code-cursor
|
|
cursor-cli
|
|
warp-terminal
|
|
|
|
discord
|
|
tree
|
|
|
|
mapscii
|
|
];
|
|
|
|
# Keep for darwin as well (tracks defaults across upgrades)
|
|
# current max per nix-darwin; bump only if a release notes says so
|
|
system.stateVersion = 6;
|
|
|
|
}
|