From fe7c7f68c7fd03853c810a0b2365a19fdf79e2e3 Mon Sep 17 00:00:00 2001 From: me-it-is <188520719+me-it-is@users.noreply.github.com> Date: Mon, 31 Aug 2026 00:12:35 -0700 Subject: [PATCH 1/6] add nix flake --- flake.lock | 27 +++++++++++++++++++++++++++ flake.nix | 20 ++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..682bf11a --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1788039129, + "narHash": "sha256-pa4Q0qErvCvzCaaUph7Sm37RhR4xvPrYI8Lgz6k85+A=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d2f67949798825fe853f7c5d0492b8bf016d3f88", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..43b27115 --- /dev/null +++ b/flake.nix @@ -0,0 +1,20 @@ +{ + description = "A flake to provide dev shells"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; + + outputs = inputs: { + devShells = builtins.mapAttrs (system: pkgs: { + default = pkgs.mkShell { + packages = with pkgs; [ + nodejs_24 + pnpm_11 + ]; + }; + }) inputs.nixpkgs.legacyPackages; + + formatter = builtins.mapAttrs (system: pkgs: pkgs.nixfmt-tree) inputs.nixpkgs.legacyPackages; + }; +} From f4435a36571647bfb7c2f90998f22cc5a6733690 Mon Sep 17 00:00:00 2001 From: Jade Date: Mon, 31 Aug 2026 12:07:20 -0700 Subject: [PATCH 2/6] give the flake a better name --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 43b27115..c0b8d76e 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "A flake to provide dev shells"; + description = "A flake to provide a dev environment for FRC/FTC Software development"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; From 3476e964d1096549bdfc0da8a8da86a6fe859266 Mon Sep 17 00:00:00 2001 From: me-it-is <188520719+me-it-is@users.noreply.github.com> Date: Mon, 31 Aug 2026 12:23:14 -0700 Subject: [PATCH 3/6] override pnpm to be 11.24.0 --- flake.nix | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index c0b8d76e..c6b4c4e0 100644 --- a/flake.nix +++ b/flake.nix @@ -6,14 +6,26 @@ }; outputs = inputs: { - devShells = builtins.mapAttrs (system: pkgs: { - default = pkgs.mkShell { - packages = with pkgs; [ - nodejs_24 - pnpm_11 - ]; - }; - }) inputs.nixpkgs.legacyPackages; + devShells = builtins.mapAttrs ( + system: pkgs: + let + pnpm_11_24 = pkgs.pnpm_11.overrideAttrs (old: rec { + version = "11.24.0"; + src = pkgs.fetchurl { + url = "https://registry.npmjs.org/pnpm/-/pnpm-${version}.tgz"; + hash = "sha256-0eqyQzFyZhzDahjshfzpP3cdsZYnFzKcwB7JwoJMok8="; + }; + }); + in + { + default = pkgs.mkShell { + packages = [ + pkgs.nodejs_24 + pnpm_11_24 + ]; + }; + } + ) inputs.nixpkgs.legacyPackages; formatter = builtins.mapAttrs (system: pkgs: pkgs.nixfmt-tree) inputs.nixpkgs.legacyPackages; }; From 3e8312aef7e3fdbe490a8badd0e4e8d2acb0e520 Mon Sep 17 00:00:00 2001 From: me-it-is <188520719+me-it-is@users.noreply.github.com> Date: Mon, 31 Aug 2026 21:22:32 -0700 Subject: [PATCH 4/6] switch to nixpkgs-unstable --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 682bf11a..a7863d41 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,16 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1788039129, - "narHash": "sha256-pa4Q0qErvCvzCaaUph7Sm37RhR4xvPrYI8Lgz6k85+A=", + "lastModified": 1787964612, + "narHash": "sha256-0N9nghg3nwzX6b6qc77EzjR9cu/Z+UR66FlfsCqiURs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d2f67949798825fe853f7c5d0492b8bf016d3f88", + "rev": "e8be7818e19ada32105a8af937a6a473b38167ca", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index c6b4c4e0..099fae2b 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "A flake to provide a dev environment for FRC/FTC Software development"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs?ref=nixpkgs-unstable"; }; outputs = inputs: { From 41c4ef4d42611e2e7218ad70c5f96484c393b102 Mon Sep 17 00:00:00 2001 From: me-it-is <188520719+me-it-is@users.noreply.github.com> Date: Sun, 13 Sep 2026 11:32:39 -0700 Subject: [PATCH 5/6] upgrade to pnpm 12 --- flake.lock | 6 +++--- flake.nix | 11 +---------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index a7863d41..fc5a8209 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1787964612, - "narHash": "sha256-0N9nghg3nwzX6b6qc77EzjR9cu/Z+UR66FlfsCqiURs=", + "lastModified": 1789264731, + "narHash": "sha256-llGJbC0CcU8DfROr6mZjRJgMLQd/SKwfpzxJH/2lHO4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8be7818e19ada32105a8af937a6a473b38167ca", + "rev": "02f5696b0e6097e589076d886b317b83ff0437d7", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 099fae2b..42697cea 100644 --- a/flake.nix +++ b/flake.nix @@ -8,20 +8,11 @@ outputs = inputs: { devShells = builtins.mapAttrs ( system: pkgs: - let - pnpm_11_24 = pkgs.pnpm_11.overrideAttrs (old: rec { - version = "11.24.0"; - src = pkgs.fetchurl { - url = "https://registry.npmjs.org/pnpm/-/pnpm-${version}.tgz"; - hash = "sha256-0eqyQzFyZhzDahjshfzpP3cdsZYnFzKcwB7JwoJMok8="; - }; - }); - in { default = pkgs.mkShell { packages = [ pkgs.nodejs_24 - pnpm_11_24 + pkgs.pnpm_12 ]; }; } From e65dc43ef9e0bca3751a8193f5dc41c02e2a0e32 Mon Sep 17 00:00:00 2001 From: me-it-is <188520719+me-it-is@users.noreply.github.com> Date: Sun, 13 Sep 2026 12:04:23 -0700 Subject: [PATCH 6/6] add note in the readme about the dev shell --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5d05bba9..5347f29a 100644 --- a/README.md +++ b/README.md @@ -325,6 +325,8 @@ For multiple images, use the Slides component instead. - **Git**: Download from [git-scm.com](https://git-scm.com/) - A code editor (e.g., [VS Code](https://code.visualstudio.com/)) +If you use nix, run `nix develop` to get all the dependencies you need. + ### Setup Instructions 1. **Clone the repository**