Loading nixos/modules/services/web-apps/engelsystem.nix +49 −30 Original line number Diff line number Diff line { config, lib, pkgs, utils, ... }: { config, lib, pkgs, utils, ... }: let inherit (lib) mkDefault mkEnableOption mkIf mkOption types mkPackageOption; inherit (lib) mkDefault mkEnableOption mkIf mkOption mkPackageOption mkRenamedOptionModule types ; cfg = config.services.engelsystem; in { options = { services.engelsystem = { enable = mkOption { default = false; example = true; description = '' Whether to enable engelsystem, an online tool for coordinating volunteers and shifts on large events. ''; type = lib.types.bool; }; imports = [ (mkRenamedOptionModule [ "services" "engelsystem" "config" ] [ "services" "engelsystem" "settings" ]) ]; options.services.engelsystem = { enable = mkEnableOption "engelsystem, an online tool for coordinating volunteers and shifts on large events"; package = mkPackageOption pkgs "engelsystem" { }; domain = mkOption { type = types.str; Loading @@ -22,8 +34,6 @@ in { description = "Domain to serve on."; }; package = mkPackageOption pkgs "engelsystem" { }; createDatabase = mkOption { type = types.bool; default = true; Loading @@ -32,9 +42,8 @@ in { This will override every database setting in {option}`services.engelsystem.config`. ''; }; }; services.engelsystem.config = mkOption { settings = mkOption { type = types.attrs; default = { database = { Loading Loading @@ -144,7 +153,7 @@ in { script = let genConfigScript = pkgs.writeScript "engelsystem-gen-config.sh" (utils.genJqSecretsReplacementSnippet cfg.config "config.json"); (utils.genJqSecretsReplacementSnippet cfg.settings "config.json"); in '' umask 077 mkdir -p /var/lib/engelsystem/storage/app Loading @@ -163,7 +172,17 @@ in { Group = "engelsystem"; }; script = '' versionFile="/var/lib/engelsystem/.version" version=$(cat "$versionFile" 2>/dev/null || echo 0) if [[ $version != ${cfg.package.version} ]]; then # prune template cache between releases rm -rfv /var/lib/engelsystem/storage/cache/* ${cfg.package}/bin/migrate echo ${cfg.package.version} > "$versionFile" fi ''; after = [ "engelsystem-init.service" "mysql.service" ]; }; Loading Loading
nixos/modules/services/web-apps/engelsystem.nix +49 −30 Original line number Diff line number Diff line { config, lib, pkgs, utils, ... }: { config, lib, pkgs, utils, ... }: let inherit (lib) mkDefault mkEnableOption mkIf mkOption types mkPackageOption; inherit (lib) mkDefault mkEnableOption mkIf mkOption mkPackageOption mkRenamedOptionModule types ; cfg = config.services.engelsystem; in { options = { services.engelsystem = { enable = mkOption { default = false; example = true; description = '' Whether to enable engelsystem, an online tool for coordinating volunteers and shifts on large events. ''; type = lib.types.bool; }; imports = [ (mkRenamedOptionModule [ "services" "engelsystem" "config" ] [ "services" "engelsystem" "settings" ]) ]; options.services.engelsystem = { enable = mkEnableOption "engelsystem, an online tool for coordinating volunteers and shifts on large events"; package = mkPackageOption pkgs "engelsystem" { }; domain = mkOption { type = types.str; Loading @@ -22,8 +34,6 @@ in { description = "Domain to serve on."; }; package = mkPackageOption pkgs "engelsystem" { }; createDatabase = mkOption { type = types.bool; default = true; Loading @@ -32,9 +42,8 @@ in { This will override every database setting in {option}`services.engelsystem.config`. ''; }; }; services.engelsystem.config = mkOption { settings = mkOption { type = types.attrs; default = { database = { Loading Loading @@ -144,7 +153,7 @@ in { script = let genConfigScript = pkgs.writeScript "engelsystem-gen-config.sh" (utils.genJqSecretsReplacementSnippet cfg.config "config.json"); (utils.genJqSecretsReplacementSnippet cfg.settings "config.json"); in '' umask 077 mkdir -p /var/lib/engelsystem/storage/app Loading @@ -163,7 +172,17 @@ in { Group = "engelsystem"; }; script = '' versionFile="/var/lib/engelsystem/.version" version=$(cat "$versionFile" 2>/dev/null || echo 0) if [[ $version != ${cfg.package.version} ]]; then # prune template cache between releases rm -rfv /var/lib/engelsystem/storage/cache/* ${cfg.package}/bin/migrate echo ${cfg.package.version} > "$versionFile" fi ''; after = [ "engelsystem-init.service" "mysql.service" ]; }; Loading