From 29c8b6e3b11ba509f6ca8ea245886f3d72dd3881 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Mon, 5 Dec 2022 21:32:35 +0100 Subject: [PATCH] service/octoprint: modularize --- legacy/modules/3d-printer.nix | 15 ------------ machines/serverle/configuration.nix | 1 - modules/services/default.nix | 3 ++- modules/services/octoprint/default.nix | 33 ++++++++++++++++++++++++++ 4 files changed, 35 insertions(+), 17 deletions(-) delete mode 100644 legacy/modules/3d-printer.nix create mode 100644 modules/services/octoprint/default.nix diff --git a/legacy/modules/3d-printer.nix b/legacy/modules/3d-printer.nix deleted file mode 100644 index 7721a1f..0000000 --- a/legacy/modules/3d-printer.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, pkgs, ... }: -{ - services.octoprint = { - enable = true; - plugins = plugins: with plugins; [ - costestimation - displayprogress - m86motorsoff - stlviewer - telegram - titlestatus - ]; - }; - networking.firewall.allowedTCPPorts = [ 5000 ]; -} diff --git a/machines/serverle/configuration.nix b/machines/serverle/configuration.nix index f7e965f..0357ec4 100644 --- a/machines/serverle/configuration.nix +++ b/machines/serverle/configuration.nix @@ -7,7 +7,6 @@ ./services.nix ./syncthing.nix ./wifi.nix - #../../legacy/modules/3d-printer.nix ../../legacy/modules/avahi.nix ../../legacy/modules/docker.nix ../../legacy/modules/nix.nix diff --git a/modules/services/default.nix b/modules/services/default.nix index 1f0b73a..81350ea 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -12,8 +12,9 @@ ./navidrome ./nextcloud ./nginx - ./passworts + ./octoprint ./paperless + ./passworts ./rss-bridge ./ssh-server ]; diff --git a/modules/services/octoprint/default.nix b/modules/services/octoprint/default.nix new file mode 100644 index 0000000..7f4cabe --- /dev/null +++ b/modules/services/octoprint/default.nix @@ -0,0 +1,33 @@ +# 3d-printing software +{ config, lib, pkgs, ... }: +let + cfg = config.my.services.minecraft-server; +in +{ + options.my.services.octoprint = with lib; { + enable = mkEnableOption "Octoprint Server"; + + plugins = mkOption { + type = types.functionTo (types.listOf types.package); + default = plugins: [ ]; + defaultText = literalExpression "plugins: []"; + example = literalExpression "plugins: with plugins; [ themeify stlviewer ]"; + description = lib.mdDoc "Additional plugins to be used. Available plugins are passed through the plugins input."; + }; + }; + + config = lib.mkIf cfg.enable { + services.octoprint = { + enable = true; + plugins = plugins: with plugins; [ + costestimation + displayprogress + m86motorsoff + stlviewer + telegram + titlestatus + ]; + }; + networking.firewall.allowedTCPPorts = [ 5000 ]; + }; +}