44 lines
957 B
Nix
44 lines
957 B
Nix
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
osConfig ? null,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
hm = inputs.self.lib.hmModule {
|
|
inherit
|
|
config
|
|
inputs
|
|
osConfig
|
|
;
|
|
optionPath = [
|
|
"dev"
|
|
"javascript"
|
|
];
|
|
};
|
|
cfg = config.my.dev.javascript;
|
|
javascript = import ./common.nix { inherit pkgs; };
|
|
in
|
|
{
|
|
options.my.dev.javascript.enable = lib.mkEnableOption "Install JavaScript tooling globally";
|
|
config = lib.mkMerge [
|
|
{
|
|
my.dev.javascript.enable = lib.mkDefault hm.enabledByDefault;
|
|
}
|
|
(lib.mkIf cfg.enable {
|
|
home.packages = javascript.packages;
|
|
xdg.configFile = {
|
|
"npm/npmrc".source = ../../../dotfiles/npmrc;
|
|
"configstore/update-notifier-npm-check.json".text = builtins.toJSON {
|
|
optOut = false;
|
|
lastUpdateCheck = 1646662583446;
|
|
};
|
|
};
|
|
home.sessionVariables = javascript.sessionVariables;
|
|
home.sessionPath = javascript.sessionPath;
|
|
})
|
|
];
|
|
}
|