- Add home/coding/languages/ with Python, JavaScript, Rust, Go, TypeScript - Move bun/nodejs from agents.nix to languages/javascript.nix - Move python3 with packages to languages/python.nix - Move npm config to javascript.nix (broader context) - Add language options to m3-ares and m3-kratos host configs - Move pyrefly from agents.nix to lsp/servers.nix - Remove duplicate python3 reference (build conflict fix) - Remove unused base/secrets/cli-tools/ duplicates
26 lines
553 B
Nix
26 lines
553 B
Nix
# JavaScript/TypeScript runtime — Node.js and Bun.
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.coding.languages.javascript;
|
|
npmGlobalPrefix = "${config.home.homeDirectory}/.npm-global";
|
|
in {
|
|
options.coding.languages.javascript.enable = mkEnableOption "JavaScript runtime (Node.js + Bun)";
|
|
|
|
config = mkIf cfg.enable {
|
|
home.packages = with pkgs; [
|
|
nodejs
|
|
bun
|
|
];
|
|
|
|
home.file.".npmrc".text = ''
|
|
prefix=${npmGlobalPrefix}
|
|
'';
|
|
home.sessionVariables.NPM_CONFIG_PREFIX = npmGlobalPrefix;
|
|
};
|
|
}
|