-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
100 lines (94 loc) · 3.32 KB
/
flake.nix
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
{
description = "IMPHNEN NIX Node Builder";
inputs = {nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";};
outputs = inputs @ {flake-parts, ...}:
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [];
systems = ["aarch64-darwin" "x86_64-darwin" "x86_64-linux" "aarch64-linux"];
perSystem = {
config,
self',
inputs',
pkgs,
system,
...
}: {
packages = {
nodejs16-darwin-arm64 = pkgs.stdenv.mkDerivation {
name = "nodejs22.11.0-darwin-arm64";
src = pkgs.fetchurl {
url = "https://nodejs.org/dist/v22.11.0/node-v22.11.0-darwin-arm64.tar.gz";
sha256 = "sha256-nqYHZoB808OjrWrUGfmJGNY0pg/o3qW5wHUH7Q8XbUw=";
};
installPhase = ''
echo "installing nodejs"
mkdir -p $out
cp -r ./ $out/
'';
};
nodejs16-darwin-x64 = pkgs.stdenv.mkDerivation {
name = "nodejs22.11.0-darwin-x64";
src = pkgs.fetchurl {
url = "https://nodejs.org/dist/v22.11.0/node-v22.11.0-darwin-x64.tar.gz";
sha256 = "sha256-N+CajPI1LzQNEgTGFUBY2BNi/vTsSIsBl7LONrPwNno=";
};
installPhase = ''
echo "installing nodejs"
mkdir -p $out
cp -r ./ $out/
'';
};
nodejs16-linux-x64 = pkgs.stdenv.mkDerivation {
name = "nodejs22.11.0-linux-x64";
src = pkgs.fetchurl {
url = "https://nodejs.org/dist/v22.11.0/node-v22.11.0-linux-x64.tar.gz";
sha256 = "sha256-T4Yrq1IDmDXvvmE7UyI4tuTd6Y0TmjTmkjGT4HNDixM=";
};
installPhase = ''
echo "installing nodejs"
mkdir -p $out
cp -r ./ $out/
'';
};
nodejs16-linux-arm64 = pkgs.stdenv.mkDerivation {
name = "nodejs22.11.0-linux-arm64";
src = pkgs.fetchurl {
url = "https://nodejs.org/dist/v22.11.0/node-v22.11.0-linux-arm64.tar.gz";
sha256 = "sha256-RuOFf1VSq9NtlUg4DXlbBDo87sJQTmn+GnVPp2AS2q8=";
};
installPhase = ''
echo "installing nodejs"
mkdir -p $out
cp -r ./ $out/
'';
};
};
devShells.default = pkgs.mkShell {
buildInputs = [
(
if system == "aarch64-linux"
then self'.packages.nodejs16-linux-arm64
else if system == "aarch64-darwin"
then self'.packages.nodejs16-darwin-arm64
else if system == "x86_64-linux"
then self'.packages.nodejs16-linux-x64
else if system == "x86_64-darwin"
then self'.packages.nodejs16-darwin-x64
else null
)
pkgs.gnused
pkgs.docker
pkgs.nodePackages.node-gyp-build
pkgs.nodePackages.yarn
pkgs.nodePackages."dockerfile-language-server-nodejs"
pkgs.nodePackages."typescript"
pkgs.nodePackages."typescript-language-server"
pkgs.nodePackages."vscode-langservers-extracted"
pkgs.nodePackages."@tailwindcss/language-server"
pkgs.emmet-ls
];
};
};
flake = {};
};
}