summary refs log tree commit diff
path: root/modules/electronics.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/electronics.nix')
-rw-r--r--modules/electronics.nix60
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/electronics.nix b/modules/electronics.nix
new file mode 100644
index 0000000..9b154b1
--- /dev/null
+++ b/modules/electronics.nix
@@ -0,0 +1,60 @@
+{ pkgs, unstablePkgs, ... }:
+
+let
+  inherit (pkgs) esp-idf-full;
+  inherit (unstablePkgs)
+    freecad
+    kicad
+    qucs-s
+    ngspice
+    librepcb
+    yosys
+    icestorm
+    arduino-cli
+    arduino-ide
+    platformio
+    avrdude
+    openocd
+    ;
+
+  hantek = unstablePkgs.openhantek6022;
+  simulide = unstablePkgs.simulide_1_2_0;
+  nextpnr = unstablePkgs.nextpnrWithGui;
+in
+{
+  # these packages include udev rules for access to their
+  # respective hardware devices.
+  services.udev.packages = [
+    hantek
+    platformio
+    openocd
+  ];
+
+  environment.systemPackages = [
+    # hardware tool support
+    hantek
+
+    # the spice of life!
+    qucs-s
+    ngspice
+    simulide
+    librepcb
+
+    # mostly bearable non-commercial cad software
+    freecad
+    kicad
+
+    # fpga workings
+    nextpnr
+    yosys
+    icestorm
+
+    # platform development tools and frameworks
+    arduino-cli
+    arduino-ide
+    platformio
+    esp-idf-full
+    avrdude
+    openocd
+  ];
+}