summary refs log tree commit diff
diff options
context:
space:
mode:
authorVan Tuan Vo <mail@tuan-vo.de>2023-07-14 14:00:40 +0200
committerVan Tuan Vo <mail@tuan-vo.de>2023-07-14 15:19:36 +0200
commit917bb930786538a314f7e9602f9aa46c3d85340b (patch)
tree775aeda15d1ec8af9976ae09bba44aa446c6b719
parent974afd4a60a38ef72043ba3438c82f98e6cf3da9 (diff)
downloadnixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.tar
nixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.tar.gz
nixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.tar.bz2
nixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.tar.lz
nixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.tar.xz
nixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.tar.zst
nixpkgs-917bb930786538a314f7e9602f9aa46c3d85340b.zip
nixos/klipper: add enableKlipperFlash option
-rw-r--r--nixos/modules/services/misc/klipper.nix22
1 files changed, 14 insertions, 8 deletions
diff --git a/nixos/modules/services/misc/klipper.nix b/nixos/modules/services/misc/klipper.nix
index ad881d4462a..67a217c994e 100644
--- a/nixos/modules/services/misc/klipper.nix
+++ b/nixos/modules/services/misc/klipper.nix
@@ -111,8 +111,11 @@ in
           (submodule {
             options = {
               enable = mkEnableOption (lib.mdDoc ''
-                building of firmware and addition of klipper-flash tools for manual flashing.
-                This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.
+                building of firmware for manual flashing.
+              '');
+              enableKlipperFlash = mkEnableOption (lib.mdDoc ''
+                flashings scripts for firmware. This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.
+                Please check the configs at [klipper](https://github.com/Klipper3d/klipper/tree/master/config) whether your board supports flashing via `make flash`.
               '');
               serial = mkOption {
                 type = types.nullOr path;
@@ -213,11 +216,14 @@ in
       with pkgs;
       let
         default = a: b: if a != null then a else b;
-        firmwares = filterAttrs (n: v: v!= null) (mapAttrs
-          (mcu: { enable, configFile, serial }: if enable then pkgs.klipper-firmware.override {
-            mcu = lib.strings.sanitizeDerivationName mcu;
-            firmwareConfig = configFile;
-          } else null)
+        firmwares = filterAttrs (n: v: v != null) (mapAttrs
+          (mcu: { enable, enableKlipperFlash, configFile, serial }:
+            if enable then
+              pkgs.klipper-firmware.override
+                {
+                  mcu = lib.strings.sanitizeDerivationName mcu;
+                  firmwareConfig = configFile;
+                } else null)
           cfg.firmwares);
         firmwareFlasher = mapAttrsToList
           (mcu: firmware: pkgs.klipper-flash.override {
@@ -226,7 +232,7 @@ in
             flashDevice = default cfg.firmwares."${mcu}".serial cfg.settings."${mcu}".serial;
             firmwareConfig = cfg.firmwares."${mcu}".configFile;
           })
-          firmwares;
+          (filterAttrs (mcu: firmware: cfg.firmwares."${mcu}".enableKlipperFlash) firmwares);
       in
       [ klipper-genconf ] ++ firmwareFlasher ++ attrValues firmwares;
   };