blob: b07c134a1616f3a60cd691ecc89abde9f37499be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
{ config, pkgs, ... }:
let
nodejs = pkgs.nodejs-18_x;
in
{
nixpkgs.overlays = [
(self: super: {
node2nixPackages = super.callPackage ../../packages/node2nix {
inherit nodejs;
};
})
];
home.packages = (with pkgs; [
nodejs
] ++ (
if stdenv.isDarwin
then
[
]
else
[
# npm install may use any of these
binutils
gnumake
gcc
python2
]
)) ++ (with pkgs.nodePackages; [
node2nix
nodemon
javascript-typescript-langserver
typescript-language-server
eslint_d
typescript
node-gyp
node-gyp-build
node-pre-gyp
]) ++ (with pkgs.node2nixPackages; [
pkgs.node2nixPackages."pnpm-7.12"
pino-pretty
]);
home.sessionVariables = {
NO_UPDATE_NOTIFIER = "1"; # stop npm update-notifier
};
programs.zsh.shellAliases = {
ava = "pnpx ava";
avt = "pnpx ava --tap";
avat = "pnpx ava --tap";
avaw = "pnpx ava --watch";
avaf = "pnpx ava --fail-fast";
avafw = "pnpx ava --fail-fast --watch";
avawf = "pnpx ava --fail-fast --watch";
pino = "pino-pretty";
mocha = "pnpx mocha";
standard = "pnpx standard";
tsc = "pnpx tsc";
tslint = "pnpx tslint";
tsnode = "pnpx ts-node";
p = "pnpm";
pi = "pnpm install --filter=.";
pit = "pnpm install-test --filter=.";
pl = "pnpm ls";
pr = "pnpm run";
pb = "pnpm run build";
prb = "pnpm run build";
pbd = "pnpm multi run build --filter={.}...";
pmi = "pnpm multi install";
pmx = "pnpm multi exec "; # expand command aliases
pmr = "pnpm multi run";
pa = "pnpm add";
pad = "pnpm add --save-dev";
pd = "pnpm uninstall";
pou = "pnpm outdated";
pt = "pnpm test";
pmt = "pnpm multi test";
pmd = "pnpm multi uninstall";
pmit = "pnpm multi install-test";
pup = "pnpm update";
pupl = "pnpm update --latest";
ppr = "pnpm prune";
pprp = "pnpm prune --production";
pli = "pnpm link";
pdi = "pnpm dislink";
pul = "pnpm unlink";
px = "pnpx";
np = "npm";
npi = "npm install";
npl = "npm ls";
npr = "npm run";
npb = "npm run build";
nprb = "npm run build";
npa = "npm install --save";
npad = "npm install --save-dev";
npd = "npm uninstall";
npt = "npm test";
npup = "npm update";
nppr = "npm prune";
npprp = "npm prune --production";
npli = "npm link";
npul = "npm unlink";
};
home.file.".npmrc".text = ''
prefix=''${HOME}/.local
cache=${config.xdg.cacheHome}/npm/
store-dir=${config.xdg.cacheHome}/pnpm/
script-shell=${pkgs.zsh}/bin/zsh
always-auth=true
sign-git-tag=true
rebuild-bundle=false
update-notifier=false
registry=https://registry.npmjs.org/
'';
}
|