bump
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
ids.gids.nixbld = 350;
|
||||
security.pam.services.sudo_local.touchIdAuth = true;
|
||||
|
||||
# 1Password SSH Socket
|
||||
environment.variables.SSH_AUTH_SOCK = "~/Library/Group Containers/2BU8OCWD5C.com.1password/t/agent.sock";
|
||||
|
||||
# Set vim as default editor
|
||||
environment.variables.EDITOR = "vim";
|
||||
environment.variables.VISUAL = "vim";
|
||||
environment.variables.GIT_EDITOR = "vim";
|
||||
|
||||
# Add Homebrew to PATH
|
||||
environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ];
|
||||
|
||||
# Biome config
|
||||
environment.etc."biome.json".source = ../../config/biome.json;
|
||||
|
||||
system.primaryUser = "matthew.bessette";
|
||||
users.users."matthew.bessette" = {
|
||||
name = "matthew.bessette";
|
||||
home = "/Users/matthew.bessette";
|
||||
};
|
||||
|
||||
# Homebrew for Casks and specific binaries
|
||||
# In a nix-darwin setup, Homebrew packages are not actually stored inside the Nix store.
|
||||
# Instead, nix-darwin acts as a manager that triggers the standard Homebrew installation
|
||||
# process on your macOS system.
|
||||
homebrew = {
|
||||
enable = true;
|
||||
onActivation.cleanup = "uninstall";
|
||||
onActivation.autoUpdate = true;
|
||||
onActivation.upgrade = true;
|
||||
taps = [ "bufbuild/buf" "jacobjohansen/tap" ];
|
||||
brews = [
|
||||
"biome"
|
||||
"jacobjohansen/tap/rds-auth-proxy"
|
||||
];
|
||||
casks = [
|
||||
"android-commandlinetools"
|
||||
"android-platform-tools"
|
||||
"bruno"
|
||||
"kopiaui"
|
||||
"libreoffice"
|
||||
"signal"
|
||||
"spotify"
|
||||
"yubico-yubikey-manager"
|
||||
"zoom"
|
||||
];
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
system.stateVersion = 4;
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
{ config, 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
|
||||
];
|
||||
|
||||
# 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
|
||||
# typescriptteam.native-preview
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# 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}";
|
||||
NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global";
|
||||
};
|
||||
|
||||
home.sessionPath = [
|
||||
"${config.home.homeDirectory}/.npm-global/bin"
|
||||
];
|
||||
|
||||
home.file.".npmrc".text = ''
|
||||
prefix=${config.home.homeDirectory}/.npm-global
|
||||
'' ;
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
settings.user = {
|
||||
name = "Matthew Bessette";
|
||||
email = "matthew.bessette@hicleo.com";
|
||||
};
|
||||
|
||||
settings.init.defaultBranch = "main";
|
||||
|
||||
# This creates ~/.config/git/ignore and sets core.excludesFile
|
||||
ignores = [
|
||||
"biome.json"
|
||||
"flake.lock"
|
||||
"flake.nix"
|
||||
".DS_Store"
|
||||
".direnv"
|
||||
".envrc"
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user