Prechádzať zdrojové kódy

dev: add shell.nix for dev purposes

Eric Helgeson 1 mesiac pred
rodič
commit
489a9f8c38
1 zmenil súbory, kde vykonal 60 pridanie a 0 odobranie
  1. 60 0
      shell.nix

+ 60 - 0
shell.nix

@@ -0,0 +1,60 @@
+let
+  # Pin nixpkgs to a specific revision for reproducibility.
+  # See ./utils/update-nix-pin.sh for how to update pin.
+  nixpkgs_rev = "0b4defa25843";
+  nixpkgs_hash = "0p3rrd8wwlk0iwgzm7frkw1k98ywrh0avi7fqjjk87i68n3inxrs";
+
+  pkgs =
+    if builtins.getEnv "PINNED_NIXPKGS" == "1"
+    then import (builtins.fetchTarball {
+      url = "https://github.com/NixOS/nixpkgs/archive/${nixpkgs_rev}.tar.gz";
+      sha256 = nixpkgs_hash;
+    }) {}
+    else import <nixpkgs> { };
+
+  pico_sdk_rev = "v2.2.0-smaller-cyw43-spi-pio-rel";
+  pico_extras_rev = "sdk-2.2.0";
+
+  # Fetch pico-sdk from GitHub, including its submodules.
+  # Using a specific revision for reproducibility.
+  pico-sdk = pkgs.fetchFromGitHub {
+    owner = "bluescsi";
+    repo = "pico-sdk-internal";
+    rev = pico_sdk_rev;
+    fetchSubmodules = true;
+    # nix-prefetch-git --url https://github.com/raspberrypi/pico-sdk --rev 2.2.0 --fetch-submodules
+    hash = "sha256-RrJ1IIipggajM6MX+VXMILwfGdHt4o6Rj+utRxWE+mY=";
+  };
+
+  pico-extras = pkgs.fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "pico-extras";
+    rev = pico_extras_rev;
+    fetchSubmodules = true;
+    # nix-prefetch-git --url https://github.com/raspberrypi/pico-extras --rev sdk-2.2.0 --fetch-submodules
+    hash = "sha256-AfMycI+CMl76OERyRN8xQer7erh0wxpJnD4fu/Sl18c=";
+  };
+in
+pkgs.mkShell {
+    shellHook = ''
+      BLUE=''
+      GREEN=''
+      YELLOW=''
+      NC=''
+      export PICO_SDK_PATH="${pico-sdk}"
+      export PICO_EXTRAS_PATH="${pico-extras}"
+      echo -e "$BLUE""BlueSCSI development environment activated.""$NC"
+      echo -e "$GREEN""PICO_SDK_PATH"\(${pico_sdk_rev}\)"$NC"" set to: ""$YELLOW""$PICO_SDK_PATH""$NC"
+      echo -e "$GREEN""PICO_EXTRAS_PATH"\(${pico_extras_rev}\)"$NC"" set to: ""$YELLOW""$PICO_EXTRAS_PATH""$NC"
+      echo -e "$(pio --version)"
+      echo -e -n "$(arm-none-eabi-g++ --version | head -n1)\n"
+      echo -e "$GREEN""nixpkgs version: ""$YELLOW""${pkgs.lib.version}""$NC"
+      echo -e "$GREEN""nixpkgs hash: ""$YELLOW""${if builtins.getEnv "PINNED_NIXPKGS" == "1" then nixpkgs_hash else "unpinned"}""$NC"
+    '';
+  buildInputs = with pkgs;
+  [
+    pkgs.platformio
+    pkgs.gcc-arm-embedded
+    # pkgs.picotool # waiting on update in nixpkgs
+  ];
+}