caesium: thunderbird and vscode updates

This commit is contained in:
2026-08-06 23:38:26 -04:00
parent bf09e6cabb
commit 7fb8488730
13 changed files with 445 additions and 292 deletions
+7 -92
View File
@@ -1,47 +1,11 @@
{ config, lib, pkgs, inputs, ... }:
let
oldPkgs = import inputs.nixpkgs-nodejs {
system = pkgs.stdenv.hostPlatform.system;
config.allowUnfree = true;
};
in
{ config, pkgs, inputs, ... }:
{
home.username = "matthew.bessette";
home.homeDirectory = "/Users/matthew.bessette";
imports = [
./programs.vscode.nix
];
home.packages = with pkgs; [];
home.packages = with pkgs; [ ];
programs.vscode = {
enable = true;
mutableExtensionsDir = false;
profiles.default = {
userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json);
extensions = (
with pkgs.vscode-marketplace-release; [
bbenoist.nix
graphql.vscode-graphql-syntax
graphql.vscode-graphql
ms-python.debugpy
ms-python.python
ms-python.vscode-pylance
oxc.oxc-vscode
vscode-icons-team.vscode-icons
typescriptteam.native-preview
waderyan.gitblame
]
) ++ (
with pkgs.vscode-marketplace; [
biomejs.biome
]
);
};
};
# mise runtime manager — installed by nix. Zsh integration is disabled
# because `mise activate zsh` registers a precmd hook that re-evaluates the
# environment before every prompt, causing a per-command shell delay.
# Tools still resolve via shims on PATH (see home.sessionPath below); this
# trades away mise's per-directory env-var auto-loading for prompt speed.
programs.mise = {
enable = true;
enableZshIntegration = false;
@@ -108,24 +72,11 @@ in
home.file.".npmrc".text = ''
prefix=${config.home.homeDirectory}/.npm-global
'' ;
'';
# Stub Android SDK directory so ANDROID_HOME/platform-tools/adb resolves to
# the adb binary installed by the android-platform-tools Homebrew cask.
home.file."android-sdk/platform-tools/adb".source = config.lib.file.mkOutOfStoreSymlink "/opt/homebrew/bin/adb";
home.file."android-sdk/cmdline-tools/latest/bin/sdkmanager".source = config.lib.file.mkOutOfStoreSymlink "/opt/homebrew/bin/sdkmanager";
xdg.configFile."oxlint/oxlintrc.json".source = config.lib.file.mkOutOfStoreSymlink "/Users/matthew.bessette/nixos/config.oxlintrc.json";
xdg.configFile."biome/biome.json".source = config.lib.file.mkOutOfStoreSymlink "/Users/matthew.bessette/nixos/config.biome.json";
# --- Tool config parity with local-dev-ansible (tasks/config/*) ---
# Note: ~/.aws/config is intentionally NOT managed here — `aws-sso-util configure
# populate` must rewrite it at runtime, which a read-only nix symlink would block.
# Run once after switch:
# aws-sso-util configure populate \
# --sso-start-url https://d-9067516d20.awsapps.com/start \
# --sso-region us-east-1 --region us-east-1 --config-default output=json
# GitHub Copilot CLI (tasks/config/copilot.yml)
home.file.".copilot/settings.json".text = builtins.toJSON {
footer = {
showModelEffort = true;
@@ -156,40 +107,4 @@ in
tuiSidebarPanel.enabled = true;
maintainerAnnouncements = { enabled = false; home = false; };
};
# Claude Code settings (tasks/config/claude-code.yml) — cleo-scoped override of the
# shared config.claude.json, since claude-statusline is only installed on cleo.
# mkForce wins over home.shared.nix's `.source = ./config.claude.json`.
xdg.configFile."claude/settings.json".source = lib.mkForce (pkgs.writeText "claude-settings.json" (builtins.toJSON {
"$schema" = "https://json.schemastore.org/claude-code-settings.json";
theme = "dark";
agent = "plan";
denyCommands = [ "code --install-extension*" ];
additionalDirectories = [ "/tmp" ];
autoMemoryEnabled = false;
effortLevel = "medium";
fastModePerSessionOptIn = true;
feedbackSurveyRate = 0;
model = "opusplan";
showClearContextOnPlanAccept = false;
statusLine = { type = "command"; command = "claude-statusline prompt"; };
}));
xdg.configFile."claude-statusline/config.toml".text = ''
format = "$directory | $git_branch | $model | $cost | $context | $usage"
preset = "default"
[usage]
disabled = false
format = 'S: {{printf "%.0f" .BlockPct}}% ({{.BlockResets}}) | W: {{printf "%.0f" .WeeklyPct}}%'
'';
xdg.configFile."1Password/ssh/agent.toml".text = lib.mkForce ''
[[ssh-keys]]
item = "Cleo SSH Key"
vault = "Cleo"
[[ssh-keys]]
item = "Personal SSH Key"
vault = "Private"
'';
}
}