102 lines
2.5 KiB
Nix
102 lines
2.5 KiB
Nix
{ 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}";
|
|
};
|
|
} |