summary refs log tree commit diff
path: root/modules/electronics.nix
blob: 9b154b1cbe44cdbcae97e7b9da54d9ac3132ec7d (plain)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
  ];
}