aboutsummaryrefslogtreecommitdiff
path: root/nixos/modules/devmin.nix
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2026-09-23 08:09:45 +0200
committerKarel Kočí <cynerd@email.cz>2026-09-23 08:09:45 +0200
commitc42de3037ec406fa834c6c1756a6f0b70dcdd38f (patch)
tree0d195492fc3f24c9742567f5bff8c157ec72baa0 /nixos/modules/devmin.nix
parentb0af9c76e1687f2afad15ba7a0de1d24331868c8 (diff)
downloadnixos-personal-master.tar.gz
nixos-personal-master.tar.bz2
nixos-personal-master.zip
treewise: cleanup and general updateHEADmaster
Diffstat (limited to 'nixos/modules/devmin.nix')
-rw-r--r--nixos/modules/devmin.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/nixos/modules/devmin.nix b/nixos/modules/devmin.nix
new file mode 100644
index 0000000..767cf2c
--- /dev/null
+++ b/nixos/modules/devmin.nix
@@ -0,0 +1,37 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ inherit (lib) mkOption mkIf types;
+in {
+ options = {
+ cynerd.devmin = mkOption {
+ type = types.bool;
+ default = false;
+ description = "If machine is about to be used for remote development.";
+ };
+ };
+
+ config = mkIf config.cynerd.devmin {
+ environment.enableDebugInfo = true;
+
+ users.groups.develop = {};
+ users.users.cynerd.extraGroups = [
+ "develop"
+ ];
+
+ services.udev.extraRules = ''
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0660", GROUP="develop", SYMLINK+="stlinkv2_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="a600", ATTRS{idProduct}=="a003", MODE:="0660", GROUP="develop", SYMLINK+="aix_forte_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE:="0660", GROUP="develop", SYMLINK+="jlink_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2111", MODE:="0660", GROUP="develop", SYMLINK+="cmsip_dap_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="bef3", MODE:="0660", GROUP="develop", SYMLINK+="xds110_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00ff", MODE:="0660", GROUP="develop", SYMLINK+="xds110_update_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a2", MODE:="0660", GROUP="develop", SYMLINK+="ccdebugger_%n"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0e11", MODE:="0660", GROUP="develop"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE:="0660", GROUP="develop", TAG+="uaccess"
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1002", MODE:="0660", GROUP="develop", TAG+="uaccess"
+ '';
+ };
+}