aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..d23f855
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,33 @@
+{
+ description = "A Nix-flake-based Node.js development environment";
+
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+
+ outputs = { self, nixpkgs }:
+ let
+ overlays = [
+ (final: prev: rec {
+ nodejs = prev.nodejs-18_x;
+ pnpm = prev.nodePackages.pnpm;
+ yarn = (prev.yarn.override { inherit nodejs; });
+ })
+ ];
+ supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+ forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
+ pkgs = import nixpkgs { inherit overlays system; };
+ });
+ in
+ {
+ devShells = forEachSupportedSystem ({ pkgs }: {
+ default = pkgs.mkShell {
+ #
+ # Add packages here
+ #
+ packages = with pkgs; [
+ nodejs
+ yarn
+ ];
+ };
+ });
+ };
+}