{ pkgs, ... }: { home.stateVersion = "23.11"; home.username = "matthew.bessette"; home.homeDirectory = "/Users/matthew.bessette"; home.packages = with pkgs; [ # Dev Specs python3 pipenv nodejs_22 yarn jdk17 # DB postgresql_16 # pgdump/restore # CLI Tools from your Brewfile xz ffmpeg earthly awscli2 buf ]; xdg.configFile."biome.json".source = ../../config/biome.json; # Enable direnv for automatic environment switching programs.direnv = { enable = true; nix-direnv.enable = true; # Better Nix flakes integration with caching }; # Managed VS Code Extensions (The "Clean" Way) programs.vscode = { enable = true; profiles.default = { userSettings = builtins.fromJSON (builtins.readFile ../../config/vscode.settings.json); extensions = with pkgs.vscode-extensions; [ # graphql.vscode-graphql biomejs.biome bbenoist.nix dbaeumer.vscode-eslint eamodio.gitlens esbenp.prettier-vscode graphql.vscode-graphql-syntax hashicorp.terraform mechatroner.rainbow-csv # mermaidchart.vscode-mermaid-chart ms-python.debugpy ms-python.python ms-python.vscode-pylance redhat.vscode-xml ]; }; }; # Automatically load the 1Password agent in your shell programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; oh-my-zsh.enable = true; oh-my-zsh.theme = "robbyrussell"; oh-my-zsh.plugins = [ "git" "npm" ]; initContent = '' export SSH_AUTH_SOCK=~/Library/Group\ Containers/2BU8OCWD5C.com.1password/t/agent.sock # Auto-allow direnv for directories with flake.nix auto_allow_direnv() { if [[ -f flake.nix ]] && [[ ! -f .envrc ]]; then echo "use flake" > .envrc direnv allow elif [[ -f flake.nix ]] && [[ -f .envrc ]]; then direnv allow fi } # Run auto-allow when changing directories chpwd_functions+=(auto_allow_direnv) ''; shellAliases = { ll = "ls -l"; update = "sudo darwin-rebuild switch --flake ~/nixos#cleo-darwin"; laws = "aws --endpoint=http://localhost:4566"; dev = "nix develop -c $SHELL"; nixos = "code ~/nixos"; }; }; home.sessionVariables = { # Points to the Homebrew location mentioned in your caveat ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools"; JAVA_HOME = "${pkgs.jdk17}"; }; }