dots/modules/hosts/darwin/default.nix
Gene Liverman 997543d9f9
Added & themed WezTerm, updated OMP theme's coffee cup glyph
Not using the Home Manager module to manage WezTerm due to using
Homebrew to install it on macOS.

Large parts of this came from Gemini but little bits here and there also
came from ChatGPT and Claude (aka whatever I could use at the moment).

Co-authored-by: Gemini <gemini@google.com>
Co-authored-by: ChatGPT <chatgpt@openai.com>
Co-authored-by: Claude <claude@anthropic.com>
2026-04-09 08:46:50 -04:00

152 lines
3.4 KiB
Nix

{
pkgs,
hostname,
username,
...
}:
{
system.primaryUser = username;
environment = {
shells = with pkgs; [
bash
zsh
];
pathsToLink = [
"/Applications"
"/share/zsh"
];
systemPackages = with pkgs; [
age
bandwhich
coreutils
hugo
nmap
openjdk
sops
ssh-to-age
];
};
homebrew = {
enable = true;
onActivation = {
autoUpdate = true;
cleanup = "zap";
upgrade = true;
};
taps = [
"homebrew/cask-fonts"
"homebrew-ffmpeg/ffmpeg"
#"null-dev/firefox-profile-switcher"
"theseal/ssh-askpass"
];
brews = [
"fastfetch"
{
name = "homebrew-ffmpeg/ffmpeg/ffmpeg";
args = [ "with-srt" ];
}
#"firefox-profile-switcher-connector" # having had this on seems to mean I need to toggle browser.profiles.enabled to true in about:config for the new built in version
"mas"
"ssh-askpass"
"telnet"
];
casks = [
"1password"
"1password-cli"
"amethyst"
"angry-ip-scanner"
"appcleaner"
"audacity"
"balenaetcher"
"bartender"
#"displaylink"
"element"
"firefox"
"font-hack-nerd-font"
"font-inconsolata-g-for-powerline"
"font-source-code-pro-for-powerline"
"ghostty"
"gitkraken"
"gitkraken-cli"
"handbrake-app"
"imageoptim"
"itermbrowserplugin"
"iterm2"
"keepingyouawake"
"libreoffice"
"logseq"
"makemkv"
"meld"
"mkvtoolnix-app"
"nextcloud"
"onlyoffice"
"raycast"
"signal"
"slack"
"sonos"
"tailscale-app"
"todoist-app"
"transmission"
"visual-studio-code"
"vivaldi"
"wezterm"
"zoom"
];
masApps = {
"1Password for Safari" = 1569813296;
"BetterSnapTool" = 417375580;
"Brother iPrint&Scan" = 1193539993;
"Home Assistant" = 1099568401;
"MQTT Explorer" = 1455214828;
};
};
networking.hostName = "${hostname}";
nix = {
settings = {
bash-prompt-prefix = "(nix:$name)\040";
build-users-group = "nixbld";
experimental-features = [
"auto-allocate-uids"
"flakes"
"nix-command"
];
substituters = [
"https://cache.nixos.org" # default one
"https://cache.flox.dev"
"https://cache.numtide.com"
"https://cache.thalheim.io"
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" # default one
"cache.numtide.com-1:GF3TabtFocLtonIGfz3PD61AgIO8GmjCYhEAmYy4VPY="
"cache.thalheim.io-1:R7msbosLEZKrxk/lKxf9BTjOOH7Ax3H0Qj0/6wiHOgc="
"flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
trusted-users = [
"@admin"
"${username}"
];
};
extraOptions = ''
# Generated by https://github.com/DeterminateSystems/nix-installer, version 0.11.0.
extra-nix-path = nixpkgs=flake:nixpkgs
# Uncoment below after validation bug is fixed
#upgrade-nix-store-path-url = https://install.determinate.systems/nix-upgrade/stable/universal
'';
};
programs = {
zsh.enable = true;
};
users.users.${username} = {
home = "/Users/${username}";
shell = pkgs.zsh;
};
}