Loading nixos/modules/services/web-apps/youtrack.nix +39 −113 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ in (lib.mkRenamedOptionModule [ "services" "youtrack" "port" ] [ "services" "youtrack" "environmentalParameters" "listen-port" ]) (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMemory" ] "Please instead use `services.youtrack.generalParameters`.") (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMetaspaceSize" ] "Please instead use `services.youtrack.generalParameters`.") (lib.mkRemovedOptionModule [ "services" "youtrack" "extraParams" ] "Please migrate to `services.youtrack.generalParameters`.") (lib.mkRemovedOptionModule [ "services" "youtrack" "jvmOpts" ] "Please migrate to `services.youtrack.generalParameters`.") ]; options.services.youtrack = { Loading @@ -22,33 +24,15 @@ in type = lib.types.str; }; extraParams = lib.mkOption { default = {}; description = '' Extra parameters to pass to youtrack. Use to configure YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `services.youtrack.generalParameters`. https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html for more information. ''; example = lib.literalExpression '' { "jetbrains.youtrack.overrideRootPassword" = "tortuga"; } ''; type = lib.types.attrsOf lib.types.str; visible = false; }; package = lib.mkOption { description = '' Package to use. ''; type = lib.types.package; default = null; relatedPackages = [ "youtrack_2022_3" "youtrack" ]; default = pkgs.youtrack; defaultText = lib.literalExpression "pkgs.youtrack"; }; statePath = lib.mkOption { description = '' Path were the YouTrack state is stored. Loading @@ -67,19 +51,6 @@ in type = lib.types.nullOr lib.types.str; }; jvmOpts = lib.mkOption { description = '' Extra options to pass to the JVM. Only has a use with YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `serivces.youtrack.generalParameters`. See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html for more information. ''; type = lib.types.separatedString " "; example = "--J-XX:MetaspaceSize=250m"; default = ""; visible = false; }; autoUpgrade = lib.mkOption { type = lib.types.bool; default = true; Loading @@ -90,7 +61,6 @@ in type = with lib.types; listOf str; description = '' General configuration parameters and other JVM options. Only has an effect for YouTrack 2023.x. See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#general-parameters for more information. ''; Loading Loading @@ -121,7 +91,6 @@ in }; description = '' Environmental configuration parameters, set imperatively. The values doesn't get removed, when removed in Nix. Only has an effect for YouTrack 2023.x. See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#environmental-parameters for more information. ''; Loading @@ -135,51 +104,9 @@ in }; config = lib.mkIf cfg.enable { warnings = lib.optional (lib.versions.major cfg.package.version <= "2022") "YouTrack 2022.x is deprecated. See https://nixos.org/manual/nixos/unstable/index.html#module-services-youtrack for details on how to upgrade." ++ lib.optional (cfg.extraParams != {} && (lib.versions.major cfg.package.version >= "2023")) "'services.youtrack.extraParams' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'" ++ lib.optional (cfg.jvmOpts != "" && (lib.versions.major cfg.package.version >= "2023")) "'services.youtrack.jvmOpts' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'"; # XXX: Drop all version feature switches at the point when we consider YT 2022.3 as outdated. services.youtrack.package = lib.mkDefault ( if lib.versionAtLeast config.system.stateVersion "24.11" then pkgs.youtrack else pkgs.youtrack_2022_3 ); services.youtrack.generalParameters = lib.optional (lib.versions.major cfg.package.version >= "2023") "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" ++ (lib.mapAttrsToList (k: v: "-D${k}=${v}") cfg.extraParams); services.youtrack.generalParameters = [ "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" ]; systemd.services.youtrack = let service_jar = let mergeAttrList = lib.foldl' lib.mergeAttrs {}; stdParams = mergeAttrList [ (lib.optionalAttrs (cfg.environmentalParameters ? base-url && cfg.environmentalParameters.base-url != null) { "jetbrains.youtrack.baseUrl" = cfg.environmentalParameters.base-url; }) { "java.aws.headless" = "true"; "jetbrains.youtrack.disableBrowser" = "true"; } ]; extraAttr = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams)); in { environment.HOME = cfg.statePath; environment.YOUTRACK_JVM_OPTS = "${extraAttr}"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = with pkgs; [ unixtools.hostname ]; serviceConfig = { Type = "simple"; User = "youtrack"; Group = "youtrack"; Restart = "on-failure"; ExecStart = ''${cfg.package}/bin/youtrack ${cfg.jvmOpts} ${cfg.environmentalParameters.listen-address}:${toString cfg.environmentalParameters.listen-port}''; }; }; service_zip = let jvmoptions = pkgs.writeTextFile { name = "youtrack.jvmoptions"; text = (lib.concatStringsSep "\n" cfg.generalParameters); Loading Loading @@ -218,7 +145,6 @@ in }) ]; }; in if (lib.versions.major cfg.package.version >= "2023") then service_zip else service_jar; users.users.youtrack = { description = "Youtrack service user"; Loading pkgs/by-name/yo/youtrack_2022_3/package.nixdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line { lib, stdenv, fetchurl, makeWrapper, jdk17, gawk }: stdenv.mkDerivation (finalAttrs: { pname = "youtrack"; version = "2022.3.65371"; jar = fetchurl { url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.jar"; hash = "sha256-NQKWmKEq5ljUXd64zY27Nj8TU+uLdA37chbFVdmwjNs="; }; nativeBuildInputs = [ makeWrapper ]; dontUnpack = true; installPhase = '' runHook preInstall makeWrapper ${jdk17}/bin/java $out/bin/youtrack \ --add-flags "\$YOUTRACK_JVM_OPTS -jar $jar" \ --prefix PATH : "${lib.makeBinPath [ gawk ]}" \ --set JRE_HOME ${jdk17} runHook postInstall ''; meta = { description = "Issue tracking and project management tool for developers"; maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; # https://www.jetbrains.com/youtrack/buy/license.html license = lib.licenses.unfree; }; }) pkgs/top-level/aliases.nix +1 −0 Original line number Diff line number Diff line Loading @@ -1262,6 +1262,7 @@ mapAliases { yacc = throw "'yacc' has been renamed to/replaced by 'bison'"; # Converted to throw 2024-10-17 yafaray-core = libyafaray; # Added 2022-09-23 yi = throw "'yi' has been removed, as it was broken and unmaintained"; # added 2024-05-09 youtrack_2022_3 = throw "'youtrack_2022_3' has been removed as it was deprecated. Please update to the 'youtrack' package."; # Added 2024-10-17 yrd = throw "'yrd' has been removed, as it was broken and unmaintained"; # added 2024-05-27 ### Z ### Loading Loading
nixos/modules/services/web-apps/youtrack.nix +39 −113 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ in (lib.mkRenamedOptionModule [ "services" "youtrack" "port" ] [ "services" "youtrack" "environmentalParameters" "listen-port" ]) (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMemory" ] "Please instead use `services.youtrack.generalParameters`.") (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMetaspaceSize" ] "Please instead use `services.youtrack.generalParameters`.") (lib.mkRemovedOptionModule [ "services" "youtrack" "extraParams" ] "Please migrate to `services.youtrack.generalParameters`.") (lib.mkRemovedOptionModule [ "services" "youtrack" "jvmOpts" ] "Please migrate to `services.youtrack.generalParameters`.") ]; options.services.youtrack = { Loading @@ -22,33 +24,15 @@ in type = lib.types.str; }; extraParams = lib.mkOption { default = {}; description = '' Extra parameters to pass to youtrack. Use to configure YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `services.youtrack.generalParameters`. https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html for more information. ''; example = lib.literalExpression '' { "jetbrains.youtrack.overrideRootPassword" = "tortuga"; } ''; type = lib.types.attrsOf lib.types.str; visible = false; }; package = lib.mkOption { description = '' Package to use. ''; type = lib.types.package; default = null; relatedPackages = [ "youtrack_2022_3" "youtrack" ]; default = pkgs.youtrack; defaultText = lib.literalExpression "pkgs.youtrack"; }; statePath = lib.mkOption { description = '' Path were the YouTrack state is stored. Loading @@ -67,19 +51,6 @@ in type = lib.types.nullOr lib.types.str; }; jvmOpts = lib.mkOption { description = '' Extra options to pass to the JVM. Only has a use with YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `serivces.youtrack.generalParameters`. See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html for more information. ''; type = lib.types.separatedString " "; example = "--J-XX:MetaspaceSize=250m"; default = ""; visible = false; }; autoUpgrade = lib.mkOption { type = lib.types.bool; default = true; Loading @@ -90,7 +61,6 @@ in type = with lib.types; listOf str; description = '' General configuration parameters and other JVM options. Only has an effect for YouTrack 2023.x. See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#general-parameters for more information. ''; Loading Loading @@ -121,7 +91,6 @@ in }; description = '' Environmental configuration parameters, set imperatively. The values doesn't get removed, when removed in Nix. Only has an effect for YouTrack 2023.x. See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#environmental-parameters for more information. ''; Loading @@ -135,51 +104,9 @@ in }; config = lib.mkIf cfg.enable { warnings = lib.optional (lib.versions.major cfg.package.version <= "2022") "YouTrack 2022.x is deprecated. See https://nixos.org/manual/nixos/unstable/index.html#module-services-youtrack for details on how to upgrade." ++ lib.optional (cfg.extraParams != {} && (lib.versions.major cfg.package.version >= "2023")) "'services.youtrack.extraParams' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'" ++ lib.optional (cfg.jvmOpts != "" && (lib.versions.major cfg.package.version >= "2023")) "'services.youtrack.jvmOpts' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'"; # XXX: Drop all version feature switches at the point when we consider YT 2022.3 as outdated. services.youtrack.package = lib.mkDefault ( if lib.versionAtLeast config.system.stateVersion "24.11" then pkgs.youtrack else pkgs.youtrack_2022_3 ); services.youtrack.generalParameters = lib.optional (lib.versions.major cfg.package.version >= "2023") "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" ++ (lib.mapAttrsToList (k: v: "-D${k}=${v}") cfg.extraParams); services.youtrack.generalParameters = [ "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" ]; systemd.services.youtrack = let service_jar = let mergeAttrList = lib.foldl' lib.mergeAttrs {}; stdParams = mergeAttrList [ (lib.optionalAttrs (cfg.environmentalParameters ? base-url && cfg.environmentalParameters.base-url != null) { "jetbrains.youtrack.baseUrl" = cfg.environmentalParameters.base-url; }) { "java.aws.headless" = "true"; "jetbrains.youtrack.disableBrowser" = "true"; } ]; extraAttr = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams)); in { environment.HOME = cfg.statePath; environment.YOUTRACK_JVM_OPTS = "${extraAttr}"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = with pkgs; [ unixtools.hostname ]; serviceConfig = { Type = "simple"; User = "youtrack"; Group = "youtrack"; Restart = "on-failure"; ExecStart = ''${cfg.package}/bin/youtrack ${cfg.jvmOpts} ${cfg.environmentalParameters.listen-address}:${toString cfg.environmentalParameters.listen-port}''; }; }; service_zip = let jvmoptions = pkgs.writeTextFile { name = "youtrack.jvmoptions"; text = (lib.concatStringsSep "\n" cfg.generalParameters); Loading Loading @@ -218,7 +145,6 @@ in }) ]; }; in if (lib.versions.major cfg.package.version >= "2023") then service_zip else service_jar; users.users.youtrack = { description = "Youtrack service user"; Loading
pkgs/by-name/yo/youtrack_2022_3/package.nixdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line { lib, stdenv, fetchurl, makeWrapper, jdk17, gawk }: stdenv.mkDerivation (finalAttrs: { pname = "youtrack"; version = "2022.3.65371"; jar = fetchurl { url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.jar"; hash = "sha256-NQKWmKEq5ljUXd64zY27Nj8TU+uLdA37chbFVdmwjNs="; }; nativeBuildInputs = [ makeWrapper ]; dontUnpack = true; installPhase = '' runHook preInstall makeWrapper ${jdk17}/bin/java $out/bin/youtrack \ --add-flags "\$YOUTRACK_JVM_OPTS -jar $jar" \ --prefix PATH : "${lib.makeBinPath [ gawk ]}" \ --set JRE_HOME ${jdk17} runHook postInstall ''; meta = { description = "Issue tracking and project management tool for developers"; maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; # https://www.jetbrains.com/youtrack/buy/license.html license = lib.licenses.unfree; }; })
pkgs/top-level/aliases.nix +1 −0 Original line number Diff line number Diff line Loading @@ -1262,6 +1262,7 @@ mapAliases { yacc = throw "'yacc' has been renamed to/replaced by 'bison'"; # Converted to throw 2024-10-17 yafaray-core = libyafaray; # Added 2022-09-23 yi = throw "'yi' has been removed, as it was broken and unmaintained"; # added 2024-05-09 youtrack_2022_3 = throw "'youtrack_2022_3' has been removed as it was deprecated. Please update to the 'youtrack' package."; # Added 2024-10-17 yrd = throw "'yrd' has been removed, as it was broken and unmaintained"; # added 2024-05-27 ### Z ### Loading