{ 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 = { enable = true; initExtra = '' source ~/Development/config_files/square/bashrc # Generated by Hermit; START; DO NOT EDIT. if [[ $- == *i* ]]; then HERMIT_ROOT_BIN="''${HERMIT_ROOT_BIN:-"$HOME/bin/hermit"}" eval "$(test -x $HERMIT_ROOT_BIN && $HERMIT_ROOT_BIN shell-hooks --print --bash)" fi # Generated by Hermit; END; DO NOT EDIT. ''; }; programs.zsh = { enable = true; initContent = '' source ~/Development/config_files/square/zshrc # Generated by Hermit; START; DO NOT EDIT. if [[ -o interactive ]]; then HERMIT_ROOT_BIN="''${HERMIT_ROOT_BIN:-"$HOME/bin/hermit"}" eval "$(test -x $HERMIT_ROOT_BIN && $HERMIT_ROOT_BIN shell-hooks --print --zsh)" fi # Generated by Hermit; END; DO NOT EDIT. ''; }; # 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; imports = [ ./modules/emacs ./modules/tmux ]; }