```
{ pkgs ? import <nixpkgs> {} }:
let
fhs =
if pkgs ? buildFHSUserEnv
then pkgs.buildFHSUserEnv
else pkgs.buildFHSEnv;
fhsEnv = fhs {
name = "claudecode-fhs";
targetPkgs = pkgs: [
pkgs.bash
pkgs.coreutils
pkgs.curl
pkgs.zlib
pkgs.openssl
];
runScript = "bash";
profile = ''
export PATH="$HOME/.local/bin:$PATH"
echo "Ensuring latest Claude Code (native installer, no npm)..."
curl -fsSL https://claude.ai/install.sh | bash
'';
};
in
pkgs.mkShell {
packages = [ fhsEnv ];
shellHook = ''
exec ${fhsEnv}/bin/claudecode-fhs
'';
}
```