feat: add build tools, nugets, and persistent claude-vm home dir

This commit was merged in pull request #5.
This commit is contained in:
2026-04-06 10:15:57 +02:00
parent 558bb89523
commit 93e370995e
+40 -4
View File
@@ -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
'';