{ config, lib, pkgs, globalInputs, system, ... }: let customPkgs = pkgs.callPackage ../packages {}; in { # Provide arguments to role modules _module.args = { inherit customPkgs; }; # Home Manager configuration for Darwin work laptop # Corporate-friendly setup with essential development tools home.username = lib.mkForce "johno"; home.homeDirectory = lib.mkForce "/Users/johno"; home.stateVersion = "24.05"; # Override Darwin-incompatible settings from base role programs.rbw.settings.pinentry = lib.mkForce pkgs.pinentry_mac; programs.bash.initExtra = '' export NODE_EXTRA_CA_CERTS=/opt/homebrew/etc/ca-certificates/cert.pem export COREPACK_NPM_REGISTRY=https://global.block-artifacts.com/artifactory/api/npm/square-npm/ export COREPACK_INTEGRITY_KEYS=0 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion ''; programs.zsh.enable = true; programs.zsh.initContent = '' export NODE_EXTRA_CA_CERTS=/opt/homebrew/etc/ca-certificates/cert.pem export COREPACK_NPM_REGISTRY=https://global.block-artifacts.com/artifactory/api/npm/square-npm/ export COREPACK_INTEGRITY_KEYS=0 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion ''; # Keep SSH and Git disabled to avoid conflicts with work environment programs.ssh.enable = lib.mkForce false; programs.git.enable = lib.mkForce false; programs.rbw.enable = lib.mkForce false; home.shell.enableShellIntegration = true; home.roles = { base.enable = true; }; imports = [ ./roles ./modules/emacs ./modules/kubectl ./modules/tmux ]; }