Skip to content

Commit cf431e5

Browse files
committed
feat(darwin): add corporate Mac configuration for MSGMAC-MV69Q140FD
Add darwinConfiguration for work Mac with Determinate Nix support, corporate VPN SSL inspection workaround (NODE_EXTRA_CA_CERTS), and work-specific Homebrew casks. Move tailscale-app and mullvad-vpn to personal.nix since they are not needed on corporate machines.
1 parent 7b872dc commit cf431e5

File tree

7 files changed

+61
-23
lines changed

7 files changed

+61
-23
lines changed

.claude/settings.local.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"includeCoAuthoredBy": false,
23
"permissions": {
34
"allow": [
45
"Bash(git:*)",
@@ -13,10 +14,14 @@
1314
],
1415
"deny": []
1516
},
16-
"includeCoAuthoredBy": false,
1717
"enableAllProjectMcpServers": true,
1818
"outputStyle": "Architect",
1919
"spinnerTipsEnabled": false,
2020
"BASH_DEFAULT_TIMEOUT_MS": "300000",
21-
"effortLevel": "high"
21+
"effortLevel": "high",
22+
"enabledMcpjsonServers": [
23+
"code-reasoning",
24+
"sequential-thinking",
25+
"context7"
26+
]
2227
}

common/claude-code/settings.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
"$schema": "https://json.schemastore.org/claude-code-settings.json",
33
"includeCoAuthoredBy": false,
44
"enableAllProjectMcpServers": true,
5+
"statusLine": {
6+
"type": "command",
7+
"command": "bash ~/.claude/statusline-command.sh"
8+
},
59
"enabledPlugins": {
610
"terraform-skill@antonbabenko": true,
711
"terragrunt-skill@jfr992": true,
@@ -10,10 +14,5 @@
1014
"alwaysThinkingEnabled": true,
1115
"feedbackSurveyState": {
1216
"lastShownTime": 1754125509075
13-
},
14-
"effortLevel": "medium",
15-
"statusLine": {
16-
"type": "command",
17-
"command": "bash ~/.claude/statusline-command.sh"
1817
}
1918
}

common/git/default.nix

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,16 @@ in {
5151
newHighlight = "green bold 22";
5252
};
5353
};
54-
# SSH signing with 1Password (cross-platform)
55-
user.signingkey = signingKey;
56-
gpg.format = "ssh";
57-
commit.gpgsign = true;
54+
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
5855
} // lib.optionalAttrs isLinux {
5956
# Linux-specific: 1Password SSH signing
60-
# NOTE: Assumes 1Password installed in standard location (/opt/1Password)
61-
# If using custom install path, override this in your platform-specific config
62-
gpg.ssh = {
63-
program = "/opt/1Password/op-ssh-sign";
64-
allowedSignersFile = "~/.ssh/allowed_signers";
65-
};
66-
} // lib.optionalAttrs isDarwin {
67-
# macOS-specific: 1Password agent uses SSH_AUTH_SOCK environment variable
68-
# No program path needed - handled by 1Password.app integration
69-
gpg.ssh = { allowedSignersFile = "~/.ssh/allowed_signers"; };
57+
gpg.ssh.program = "/opt/1Password/op-ssh-sign";
58+
};
59+
60+
signing = {
61+
key = signingKey;
62+
format = "ssh";
63+
signByDefault = true;
7064
};
7165
};
7266

flake.nix

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,14 @@
116116
username = defaultUsername;
117117
extraModules = [ ./systems/aarch64-darwin/homebrew/personal.nix ];
118118
};
119+
"MSGMAC-MV69Q140FD" = mkDarwinSystem {
120+
hostname = "MSGMAC-MV69Q140FD";
121+
username = "hummes1";
122+
extraModules = [
123+
./systems/aarch64-darwin/homebrew/work.nix
124+
./systems/aarch64-darwin/corporate.nix
125+
];
126+
};
119127
};
120128

121129
# Linux Home Manager configurations
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Corporate Mac overrides
2+
#
3+
# 1. Determinate Nix — disable nix-darwin's Nix management (conflicts with
4+
# Determinate's own daemon).
5+
# 2. VPN SSL inspection — corporate VPN replaces TLS certs with a CA not in
6+
# Node's default trust store. NODE_EXTRA_CA_CERTS fixes this.
7+
#
8+
# Refresh the cert bundle after CA rotation:
9+
# refresh-corp-ca
10+
{ lib, ... }:
11+
12+
{
13+
# Determinate Nix manages its own daemon; nix-darwin must not compete.
14+
# Force-disable all nix.* options that common/ and systems/ set unconditionally.
15+
nix.enable = false;
16+
nix.optimise.automatic = lib.mkForce false;
17+
home-manager.sharedModules = [
18+
{
19+
home.sessionVariables = {
20+
NODE_EXTRA_CA_CERTS = "$HOME/.corporate-ca.pem";
21+
};
22+
23+
programs.zsh.shellAliases = {
24+
refresh-corp-ca = ''
25+
security find-certificate -a -p /Library/Keychains/System.keychain > ~/.corporate-ca.pem \
26+
&& security find-certificate -a -p ~/Library/Keychains/login.keychain-db >> ~/.corporate-ca.pem \
27+
&& echo "Corporate CA bundle refreshed"'';
28+
};
29+
}
30+
];
31+
}

systems/aarch64-darwin/homebrew/common.nix

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ _:
3030
# Networking & VPN
3131
"arc"
3232
"google-chrome"
33-
"tailscale-app"
34-
"mullvad-vpn@beta"
3533

3634
# Media & Entertainment
3735
"vlc"

systems/aarch64-darwin/homebrew/personal.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@ _:
1919
"utm"
2020
"vagrant-vmware-utility"
2121
"winbox"
22+
23+
# Networking & VPN
24+
"tailscale-app"
2225
];
2326
}

0 commit comments

Comments
 (0)