-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
75 lines (68 loc) · 1.72 KB
/
flake.nix
File metadata and controls
75 lines (68 loc) · 1.72 KB
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
# flake.nix "flake" "imports"
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nvim.url = "path:/home/zhifan/.config/nvim";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
};
outputs =
inputs@{
self,
nixpkgs,
nvim,
flake-parts,
}:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
perSystem =
{
system,
pkgs,
...
}:
let
nvim-pkgs = nvim.packages.${system};
in
{
devShells.default = pkgs.mkShell {
name = "nodejs-dev-shell";
buildInputs =
with pkgs;
[
nodejs_22 # Specify Node.js version
pnpm
# GitHub action local testing
act
gh
]
++ (with nvim-pkgs; [ nastro ]);
GITHUB_RUN_NUMBER = 10;
NEOVIM_CONFIG_LINES = 123123;
shellHook = ''
echo "Welcome to the Node.js development environment using system ${system}!"
echo "Node.js version: $(node --version)"
'';
};
# Optionally define a package for the project
# packages.default = pkgs.stdenv.mkDerivation {
# name = "nodejs-project";
# src = ./.;
#
# buildInputs = with pkgs; [nodejs-18_x];
#
# installPhase = ''
# mkdir -p $out
# cp -r * $out
# '';
# };
};
};
}