From 93e370995e172cde208ba4555f9e3c9617b8d1d6 Mon Sep 17 00:00:00 2001 From: Jonas Juselius Date: Mon, 6 Apr 2026 10:15:57 +0200 Subject: [PATCH] feat: add build tools, nugets, and persistent claude-vm home dir --- default.nix | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/default.nix b/default.nix index b928859..5df23d0 100644 --- a/default.nix +++ b/default.nix @@ -39,6 +39,16 @@ let target = "/mnt/claude-vm-config"; securityModel = "none"; }; + claude = { + source = ''"$CLAUDE_HOME_DIR"''; + target = "/home/claude"; + securityModel = "none"; + }; + nuget = { + source = ''"$NUGET_DIR"''; + target = "/home/claude/.nuget"; + securityModel = "none"; + }; }; }; @@ -62,11 +72,19 @@ let programs.command-not-found.enable = false; # packages - environment.systemPackages = [ + environment.systemPackages = with pkgs; [ claudeCode - pkgs.git - pkgs.curl - pkgs.vim + git + curl + vim + dotnetCorePackages.sdk_10_0 + dapr-cli + bun + just + yaml-language-server + nodePackages.typescript-language-server + # fsautocomplete + # sqlfluff ]; # login shell launches claude @@ -81,6 +99,10 @@ let done < /mnt/claude-vm-config/claude-args fi + # if [ -f /mnt/claude-vm-config/gitconfig ]; then + # cp /mnt/claude-vm-config/gitconfig ~/.gitconfig + # fi + cd /workspace 2>/dev/null || true exec claude "''${args[@]}" ''; @@ -106,7 +128,21 @@ in touch "$CONFIG_DIR/claude-args" fi + if [ -e ~/.config/git/config ]; then + cp ~/.config/git/config $CONFIG_DIR/gitconfig + fi + + [ ! -d ~/.claude-vm ] && mkdir -p ~/.claude-vm + + if [ -e ~/.nuget ]; then + export NUGET_DIR=~/.nuget + else + mkdir -p $CONFIG_DIR/nuget + export NUGET_DIR=$CONFIG_DIR/nuget + fi + export CLAUDE_VM_CONFIG_DIR="$CONFIG_DIR" + export CLAUDE_HOME_DIR=~/.claude-vm export WORKSPACE_DIR="$(pwd)" ${vmBuild}/bin/run-claude-vm-vm '';