summaryrefslogtreecommitdiff
path: root/modules/devtools
diff options
context:
space:
mode:
authorGrisha Shipunov2025-10-24 22:08:32 +0200
committerGrisha Shipunov2025-10-24 22:08:32 +0200
commit694a3aa10a52c383cf64de1a7104daaed365f770 (patch)
tree3761f3ff55a7638d0bafe5560c92e2c704cfe015 /modules/devtools
parent38a81680bfebb5881171cf61c65bfc53df3669e0 (diff)
add stlink access to plugdev
Diffstat (limited to 'modules/devtools')
-rw-r--r--modules/devtools/default.nix56
-rw-r--r--modules/devtools/stm32.nix17
2 files changed, 73 insertions, 0 deletions
diff --git a/modules/devtools/default.nix b/modules/devtools/default.nix
new file mode 100644
index 0000000..537abd3
--- /dev/null
+++ b/modules/devtools/default.nix
@@ -0,0 +1,56 @@
+{
+ pkgs,
+ ...
+}:
+{
+ imports = [
+ ./stm32.nix
+ ];
+ environment.systemPackages =
+ with pkgs;
+ let
+ # kicad
+ kicad = pkgs.kicad.override {
+ addons = with pkgs.kicadAddons; [
+ kikit
+ kikit-library
+ ];
+ };
+ in
+ [
+ # general
+ gef
+ gdb
+ binwalk
+ sops
+ nix-index
+ nil
+ kicad
+ kikit
+ freecad-qt6
+ imhex
+ python314
+ nixfmt-rfc-style
+ treefmt
+ android-tools
+ prusa-slicer
+ openscad
+ ];
+
+ # android stuff
+ services.udev.packages = [
+ pkgs.android-udev-rules
+ ];
+ # Wireshark
+ programs.wireshark = {
+ enable = true;
+ package = pkgs.wireshark;
+ };
+ users.users."0xa".extraGroups = [ "wireshark" ];
+
+ programs.ghidra = {
+ enable = true;
+ gdb = true;
+ package = pkgs.ghidra;
+ };
+}
diff --git a/modules/devtools/stm32.nix b/modules/devtools/stm32.nix
new file mode 100644
index 0000000..8b689bc
--- /dev/null
+++ b/modules/devtools/stm32.nix
@@ -0,0 +1,17 @@
+{ pkgs, ... }:
+{
+ environment.systemPackages = [
+ blackmagic
+ ];
+ services.udev.extraRules = ''
+ # STMicroelectronics ST-LINK V1
+ ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess"
+
+ # STMicroelectronics ST-LINK/V2
+ ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess"
+
+ # STMicroelectronics ST-LINK/V2.1
+ ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess"
+ ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", MODE="660", GROUP="plugdev", TAG+="uaccess"
+ '';
+}