nix-config/hosts/dnsc-air/default.nix

214 lines
3.9 KiB
Nix

{
inputs,
outputs,
_lib,
_config,
pkgs,
...
}:
{
imports = [
inputs.home-manager.darwinModules.home-manager
../../modules/aerospace
];
# Setting the user
networking.hostName = "dnsc-air";
networking.computerName = "dnsc-air";
users.users."dennis" = {
home = "/Users/dennis";
description = "Dennis Schoepf";
};
nix.settings.trusted-users = [ "dennis" ];
nixpkgs.config.allowUnfree = true;
# System Packages
environment.systemPackages = with pkgs; [
git
btop
fish
ripgrep
fzf
fd
sd
bat
neovim
just
tldr
fortune
stylua
typescript-language-server
vscode-langservers-extracted
astro-language-server
tailwindcss-language-server
lua-language-server
prettierd
eslint_d
atuin
nil
shellcheck
lazygit
ffmpeg
yt-dlp
zoxide
sqlite
tree-sitter
rsync
fnm
imagemagick
restic
devenv
];
# Homebrew
nix-homebrew = {
enable = true;
# enableRosetta = true;
user = "dennis";
autoMigrate = true;
};
homebrew = {
user = "dennis";
enable = true;
onActivation = {
autoUpdate = true;
upgrade = true;
cleanup = "zap";
};
taps = [
"homebrew/services"
"d12frosted/emacs-plus"
];
masApps = {
Bitwarden = 1352778147;
"Wipr 2" = 1662217862;
"Yesterday For Old Reddit" = 1603279883;
};
brews = [
"harfbuzz"
"openexr"
"openjph"
"p11-kit"
"mas"
"go"
"ca-certificates"
"gettext"
];
casks = [
"chromium"
"font-victor-mono"
"font-victor-mono-nerd-font"
"vlc"
"wezterm"
"hiddenbar"
"eurkey"
"karabiner-elements"
"wezterm"
"cyberduck"
"caffeine"
"tailscale-app"
"raycast"
"spotify"
"zen"
];
};
# Shells
environment.shells = [ pkgs.fish ];
programs.direnv.enable = true;
# System settings
system = {
primaryUser = "dennis";
stateVersion = 5;
activationScripts.postActivation.text = ''
/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
'';
defaults = {
smb.NetBIOSName = "dnsc-air";
NSGlobalDomain."com.apple.swipescrolldirection" = false;
dock = {
autohide = true;
autohide-delay = 0.01;
autohide-time-modifier = 0.01;
expose-group-apps = true;
launchanim = false;
minimize-to-application = true;
orientation = "right";
show-recents = false;
persistent-apps = [
"/Applications/Zen.app"
"/Applications/WezTerm.app"
"/System/Applications/System Settings.app/"
];
persistent-others = [
"/Users/dennis/Downloads"
];
};
finder = {
AppleShowAllExtensions = true;
CreateDesktop = false;
FXEnableExtensionChangeWarning = false;
FXPreferredViewStyle = "clmv";
ShowPathbar = true;
ShowStatusBar = true;
};
loginwindow = {
LoginwindowText = "λ dnsc-air (powered by nix-darwin)";
};
menuExtraClock = {
Show24Hour = true;
ShowDate = 0;
};
screencapture = {
location = "/Users/dennis/Downloads";
target = "file";
};
spaces.spans-displays = false;
};
};
# Add ability to used TouchID for sudo authentication
security.pam.services.sudo_local.touchIdAuth = true;
# Home Manager Setup
home-manager = {
extraSpecialArgs = { inherit inputs outputs; };
useGlobalPkgs = true;
backupFileExtension = "backup";
users = {
dennis = import ../../home/darwin.nix;
};
};
# Nix settings
# Enable new Nix CLI and flakes
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.package = pkgs.nix;
nix.gc = {
automatic = true;
options = "--delete-older-than 1w";
};
}