aboutsummaryrefslogtreecommitdiff
path: root/modules/klipper.nix
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2025-10-21 10:38:26 -0500
committerChris Wells <chris@mathematicaster.org>2025-10-21 10:38:26 -0500
commit7aa390883104725c64c65d20a0713cfcd654f637 (patch)
treea3a33e5423e9136ad064b48aee0e41966329c1f0 /modules/klipper.nix
parente3343bc80dc54416d4e8ee6a60a8e92b630810de (diff)
downloadfw-manager-7aa390883104725c64c65d20a0713cfcd654f637.tar
fw-manager-7aa390883104725c64c65d20a0713cfcd654f637.tar.gz
fw-manager-7aa390883104725c64c65d20a0713cfcd654f637.tar.bz2
fw-manager-7aa390883104725c64c65d20a0713cfcd654f637.tar.lz
fw-manager-7aa390883104725c64c65d20a0713cfcd654f637.tar.xz
fw-manager-7aa390883104725c64c65d20a0713cfcd654f637.tar.zst
fw-manager-7aa390883104725c64c65d20a0713cfcd654f637.zip
More correct dfu-util flash script + rearranged personal devices
Diffstat (limited to 'modules/klipper.nix')
-rw-r--r--modules/klipper.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/klipper.nix b/modules/klipper.nix
new file mode 100644
index 0000000..2782bcd
--- /dev/null
+++ b/modules/klipper.nix
@@ -0,0 +1,42 @@
+{
+ lib,
+ pkgs,
+ config,
+ ...
+}:
+let
+ inherit (lib) mkOption mkIf mkPackageOption types;
+in {
+ options = {
+ type = mkOption {
+ type = types.enum [ "klipper" ];
+ };
+
+ klipper = {
+ klipper-firmware = mkPackageOption pkgs "klipper-firmware" {};
+
+ mcu = mkOption {
+ type = types.str;
+ };
+
+ firmwareConfig = mkOption {
+ type = types.path;
+ };
+
+ build = {
+ bin = mkOption {
+ type = types.path;
+ default = "${config.klipper.klipper-firmware.override {
+ inherit (config.klipper) mcu firmwareConfig;
+ }}/klipper.bin";
+ };
+ flash = mkOption {
+ type = types.functionTo <| types.either types.str types.package;
+ };
+ };
+ };
+ };
+
+ config = mkIf (config.type == "klipper") {
+ };
+}