-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflake.nix
40 lines (38 loc) · 1014 Bytes
/
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
{
description = "Development environments for various languages";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs =
{ nixpkgs, ... }@inputs:
let
lib = nixpkgs.lib;
systems = lib.systems.flakeExposed;
pkgsFor = lib.genAttrs systems (system: import nixpkgs { inherit system; });
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
in
{
devShells = forEachSystem (
pkgs: with pkgs; rec {
default = mkShell {
nativeBuildInputs = [
# Nix
nixd
nixfmt-rfc-style
statix
# Plantuml
plantuml
# JS
nodejs_20
nodePackages.npm
nodePackages.typescript-language-server
nodePackages.typescript
emmet-ls
vscode-langservers-extracted
prettierd
];
};
}
);
};
}