feat: add build tools, nugets, and persistent claude-vm home dir
This commit was merged in pull request #5.
This commit is contained in:
+40
-4
@@ -39,6 +39,16 @@ let
|
|||||||
target = "/mnt/claude-vm-config";
|
target = "/mnt/claude-vm-config";
|
||||||
securityModel = "none";
|
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;
|
programs.command-not-found.enable = false;
|
||||||
|
|
||||||
# packages
|
# packages
|
||||||
environment.systemPackages = [
|
environment.systemPackages = with pkgs; [
|
||||||
claudeCode
|
claudeCode
|
||||||
pkgs.git
|
git
|
||||||
pkgs.curl
|
curl
|
||||||
pkgs.vim
|
vim
|
||||||
|
dotnetCorePackages.sdk_10_0
|
||||||
|
dapr-cli
|
||||||
|
bun
|
||||||
|
just
|
||||||
|
yaml-language-server
|
||||||
|
nodePackages.typescript-language-server
|
||||||
|
# fsautocomplete
|
||||||
|
# sqlfluff
|
||||||
];
|
];
|
||||||
|
|
||||||
# login shell launches claude
|
# login shell launches claude
|
||||||
@@ -81,6 +99,10 @@ let
|
|||||||
done < /mnt/claude-vm-config/claude-args
|
done < /mnt/claude-vm-config/claude-args
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# if [ -f /mnt/claude-vm-config/gitconfig ]; then
|
||||||
|
# cp /mnt/claude-vm-config/gitconfig ~/.gitconfig
|
||||||
|
# fi
|
||||||
|
|
||||||
cd /workspace 2>/dev/null || true
|
cd /workspace 2>/dev/null || true
|
||||||
exec claude "''${args[@]}"
|
exec claude "''${args[@]}"
|
||||||
'';
|
'';
|
||||||
@@ -106,7 +128,21 @@ in
|
|||||||
touch "$CONFIG_DIR/claude-args"
|
touch "$CONFIG_DIR/claude-args"
|
||||||
fi
|
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_VM_CONFIG_DIR="$CONFIG_DIR"
|
||||||
|
export CLAUDE_HOME_DIR=~/.claude-vm
|
||||||
export WORKSPACE_DIR="$(pwd)"
|
export WORKSPACE_DIR="$(pwd)"
|
||||||
${vmBuild}/bin/run-claude-vm-vm
|
${vmBuild}/bin/run-claude-vm-vm
|
||||||
'';
|
'';
|
||||||
|
|||||||
Reference in New Issue
Block a user