nix-vite-react-ts / flake.nix

1
{
2
description = "nyonker's meditation timer";
3
4
inputs = {
5
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
6
};
7
8
outputs =
9
{
10
self,
11
nixpkgs,
12
}:
13
let
14
eachSystem = nixpkgs.lib.genAttrs [
15
"aarch64-darwin"
16
"aarch64-linux"
17
"x86_64-darwin"
18
"x86_64-linux"
19
];
20
in
21
{
22
formatter = eachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
23
24
packages = eachSystem (
25
system:
26
let
27
pkgs = nixpkgs.legacyPackages.${system};
28
in
29
{
30
default = pkgs.buildNpmPackage {
31
name = "mt";
32
33
buildInputs = with pkgs; [
34
nodejs
35
];
36
37
src = self;
38
39
npmDeps = pkgs.importNpmLock {
40
npmRoot = ./.;
41
};
42
43
npmConfigHook = pkgs.importNpmLock.npmConfigHook;
44
45
installPhase = ''
46
mkdir $out
47
cp -r dist/* $out
48
'';
49
};
50
}
51
);
52
53
devShells = eachSystem (
54
system:
55
let
56
pkgs = nixpkgs.legacyPackages.${system};
57
mt = self.packages.${system}.default;
58
in
59
{
60
default = pkgs.mkShell {
61
inputsFrom = [ mt ];
62
packages = with pkgs; [
63
typescript-language-server
64
];
65
};
66
}
67
);
68
};
69
}
70