diff --git a/pkgs/applications/editors/jetbrains/builder/linux.nix b/pkgs/applications/editors/jetbrains/builder/linux.nix index bb406773d834..22e2443e020b 100644 --- a/pkgs/applications/editors/jetbrains/builder/linux.nix +++ b/pkgs/applications/editors/jetbrains/builder/linux.nix @@ -62,11 +62,10 @@ lib.makeOverridable mkDerivation ( mainProgram = pname; }; - # FIXME: Do not use meta attributes, see README (`TODO` section) desktopItem = makeDesktopItem { name = pname; exec = pname; - comment = lib.replaceStrings [ "\n" ] [ " " ] meta.longDescription; + comment = lib.trim (lib.replaceString "\n" " " meta.longDescription); desktopName = product; genericName = meta.description; categories = [ "Development" ]; diff --git a/pkgs/applications/editors/jetbrains/ides/clion.nix b/pkgs/applications/editors/jetbrains/ides/clion.nix index 0391c23f03ce..a65f4a9eba66 100644 --- a/pkgs/applications/editors/jetbrains/ides/clion.nix +++ b/pkgs/applications/editors/jetbrains/ides/clion.nix @@ -68,7 +68,7 @@ in xz ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/clion/"; description = "C/C++ IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/datagrip.nix b/pkgs/applications/editors/jetbrains/ides/datagrip.nix index 15be98d7cfd3..127c4b202003 100644 --- a/pkgs/applications/editors/jetbrains/ides/datagrip.nix +++ b/pkgs/applications/editors/jetbrains/ides/datagrip.nix @@ -45,11 +45,14 @@ mkJetBrainsProduct { src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}")); - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/datagrip/"; description = "Database IDE from JetBrains"; - longDescription = "DataGrip is a new IDE from JetBrains built for database admins. It allows you to quickly migrate and refactor relational databases, construct efficient, statically checked SQL queries and much more."; + longDescription = '' + DataGrip is an IDE from JetBrains built for database admins. + It allows you to quickly migrate and refactor relational databases, construct efficient, statically checked SQL queries and much more. + ''; maintainers = [ ]; license = lib.licenses.unfree; sourceProvenance = diff --git a/pkgs/applications/editors/jetbrains/ides/dataspell.nix b/pkgs/applications/editors/jetbrains/ides/dataspell.nix index 2b9bc50d6508..63fe6cd3541d 100644 --- a/pkgs/applications/editors/jetbrains/ides/dataspell.nix +++ b/pkgs/applications/editors/jetbrains/ides/dataspell.nix @@ -55,11 +55,14 @@ mkJetBrainsProduct { '') ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/dataspell/"; description = "Data science IDE from JetBrains"; - longDescription = "DataSpell is a new IDE from JetBrains built for Data Scientists. Mainly it integrates Jupyter notebooks in the IntelliJ platform."; + longDescription = '' + DataSpell is an IDE from JetBrains built for Data Scientists. + Mainly it integrates Jupyter notebooks in the IntelliJ platform. + ''; maintainers = with lib.maintainers; [ leona ]; license = lib.licenses.unfree; sourceProvenance = diff --git a/pkgs/applications/editors/jetbrains/ides/gateway.nix b/pkgs/applications/editors/jetbrains/ides/gateway.nix index 57ba1d01f4f1..bb51cce64b4c 100644 --- a/pkgs/applications/editors/jetbrains/ides/gateway.nix +++ b/pkgs/applications/editors/jetbrains/ides/gateway.nix @@ -50,11 +50,11 @@ mkJetBrainsProduct { libgcc ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/remote-development/gateway/"; description = "Remote development for JetBrains products"; - longDescription = "JetBrains Gateway is a lightweight launcher that connects a remote server with your local machine, downloads necessary components on the backend, and opens your project in JetBrains Client."; + longDescription = "JetBrains Gateway is a lightweight launcher that connects a remote server with your local machine and opens your project in JetBrains Client."; maintainers = [ ]; license = lib.licenses.unfree; sourceProvenance = diff --git a/pkgs/applications/editors/jetbrains/ides/goland.nix b/pkgs/applications/editors/jetbrains/ides/goland.nix index e9ebf44bb7dd..ed4ed7320743 100644 --- a/pkgs/applications/editors/jetbrains/ides/goland.nix +++ b/pkgs/applications/editors/jetbrains/ides/goland.nix @@ -53,12 +53,14 @@ in libgcc ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/go/"; description = "Go IDE from JetBrains"; - longDescription = "Goland is the codename for a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development. - The new IDE extends the IntelliJ platform with the coding assistance and tool integrations specific for the Go language"; + longDescription = '' + Goland is a commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development. + The IDE extends the IntelliJ platform with the coding assistance and tool integrations specific for the Go language. + ''; maintainers = with lib.maintainers; [ tymscar ]; license = lib.licenses.unfree; sourceProvenance = diff --git a/pkgs/applications/editors/jetbrains/ides/idea-oss.nix b/pkgs/applications/editors/jetbrains/ides/idea-oss.nix index 0be07638ad8f..25c3da649f0c 100644 --- a/pkgs/applications/editors/jetbrains/ides/idea-oss.nix +++ b/pkgs/applications/editors/jetbrains/ides/idea-oss.nix @@ -57,11 +57,14 @@ mkJetBrainsProduct { ''--set M2 "${maven}/maven/bin"'' ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/idea/"; - description = "Free Java, Kotlin, Groovy and Scala IDE from Jetbrains (built from source)"; - longDescription = "IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration with JUnit, TestNG, popular SCMs, Ant & Maven. Also known as IntelliJ."; + description = "Free Java, Kotlin, Groovy and Scala IDE from JetBrains (built from source)"; + longDescription = '' + IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration with JUnit, TestNG, popular SCMs, Ant & Maven. + Also known as IntelliJ. + ''; maintainers = with lib.maintainers; [ gytis-ivaskevicius tymscar diff --git a/pkgs/applications/editors/jetbrains/ides/idea.nix b/pkgs/applications/editors/jetbrains/ides/idea.nix index beea85af05ef..07ecdd65c560 100644 --- a/pkgs/applications/editors/jetbrains/ides/idea.nix +++ b/pkgs/applications/editors/jetbrains/ides/idea.nix @@ -60,11 +60,14 @@ mkJetBrainsProduct { musl ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/idea/"; - description = "Java, Kotlin, Groovy and Scala IDE from Jetbrains"; - longDescription = "IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration with JUnit, TestNG, popular SCMs, Ant & Maven. Also known as IntelliJ."; + description = "Java, Kotlin, Groovy and Scala IDE from JetBrains"; + longDescription = '' + IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration with JUnit, TestNG, popular SCMs, Ant & Maven. + Also known as IntelliJ. + ''; maintainers = with lib.maintainers; [ gytis-ivaskevicius tymscar diff --git a/pkgs/applications/editors/jetbrains/ides/mps.nix b/pkgs/applications/editors/jetbrains/ides/mps.nix index d01b9ad29d85..52e18be29bcd 100644 --- a/pkgs/applications/editors/jetbrains/ides/mps.nix +++ b/pkgs/applications/editors/jetbrains/ides/mps.nix @@ -45,7 +45,7 @@ mkJetBrainsProduct { src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}")); - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/mps/"; description = "IDE for building domain-specific languages from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/phpstorm.nix b/pkgs/applications/editors/jetbrains/ides/phpstorm.nix index ca54b511614e..a121ce982e89 100644 --- a/pkgs/applications/editors/jetbrains/ides/phpstorm.nix +++ b/pkgs/applications/editors/jetbrains/ides/phpstorm.nix @@ -49,11 +49,11 @@ mkJetBrainsProduct { musl ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/phpstorm/"; description = "PHP IDE from JetBrains"; - longDescription = "PhpStorm provides an editor for PHP, HTML and JavaScript with on-the-fly code analysis, error prevention and automated refactorings for PHP and JavaScript code. "; + longDescription = "PhpStorm provides an editor for PHP, HTML and JavaScript with on-the-fly code analysis, error prevention and automated refactorings for PHP and JavaScript code."; maintainers = with lib.maintainers; [ dritter tymscar diff --git a/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix b/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix index 9b79a69e0ed9..48b70636f4b5 100644 --- a/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix +++ b/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix @@ -50,11 +50,15 @@ in product = "PyCharm Open Source"; productShort = "PyCharm"; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/pycharm/"; description = "Free Python IDE from JetBrains (built from source)"; - longDescription = "Python IDE with complete set of tools for productive development with Python programming language. In addition, the IDE provides high-class capabilities for professional Web development with Django framework and Google App Engine. It has powerful coding assistance, navigation, a lot of refactoring features, tight integration with various Version Control Systems, Unit testing, powerful all-singing all-dancing Debugger and entire customization. PyCharm is developer driven IDE. It was developed with the aim of providing you almost everything you need for your comfortable and productive development!"; + longDescription = '' + Python IDE with complete set of tools for productive development with Python programming language. + In addition, the IDE provides high-class capabilities for professional Web development with Django framework and Google App Engine. + It has powerful coding assistance, navigation, a lot of refactoring features, tight integration with various Version Control Systems, Unit testing and powerful Debugger. + ''; maintainers = with lib.maintainers; [ genericnerdyusername tymscar diff --git a/pkgs/applications/editors/jetbrains/ides/pycharm.nix b/pkgs/applications/editors/jetbrains/ides/pycharm.nix index 222642ace59d..fdc519f52406 100644 --- a/pkgs/applications/editors/jetbrains/ides/pycharm.nix +++ b/pkgs/applications/editors/jetbrains/ides/pycharm.nix @@ -38,7 +38,6 @@ in wmClass = "jetbrains-pycharm"; product = "PyCharm"; - productShort = "PyCharm"; # update-script-start: version version = "2025.3.1"; @@ -51,11 +50,15 @@ in musl ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/pycharm/"; description = "Python IDE from JetBrains"; - longDescription = "Python IDE with complete set of tools for productive development with Python programming language. In addition, the IDE provides high-class capabilities for professional Web development with Django framework and Google App Engine. It has powerful coding assistance, navigation, a lot of refactoring features, tight integration with various Version Control Systems, Unit testing, powerful all-singing all-dancing Debugger and entire customization. PyCharm is developer driven IDE. It was developed with the aim of providing you almost everything you need for your comfortable and productive development!"; + longDescription = '' + Python IDE with complete set of tools for productive development with Python programming language. + In addition, the IDE provides high-class capabilities for professional Web development with Django framework and Google App Engine. + It has powerful coding assistance, navigation, a lot of refactoring features, tight integration with various Version Control Systems, Unit testing and powerful Debugger. + ''; maintainers = with lib.maintainers; [ genericnerdyusername tymscar diff --git a/pkgs/applications/editors/jetbrains/ides/rider.nix b/pkgs/applications/editors/jetbrains/ides/rider.nix index 9b454d68c509..5fde0c16fbff 100644 --- a/pkgs/applications/editors/jetbrains/ides/rider.nix +++ b/pkgs/applications/editors/jetbrains/ides/rider.nix @@ -78,11 +78,15 @@ in libX11 ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/rider/"; description = ".NET IDE from JetBrains"; - longDescription = "JetBrains Rider is a new .NET IDE based on the IntelliJ platform and ReSharper. Rider supports .NET Core, .NET Framework and Mono based projects. This lets you develop a wide array of applications including .NET desktop apps, services and libraries, Unity games, ASP.NET and ASP.NET Core web applications."; + longDescription = '' + JetBrains Rider is a new .NET IDE based on the IntelliJ platform and ReSharper. + Rider supports .NET Core, .NET Framework and Mono based projects. + This lets you develop a wide array of applications including .NET desktop apps, services and libraries, Unity games, ASP.NET and ASP.NET Core web applications. + ''; maintainers = with lib.maintainers; [ raphaelr ]; license = lib.licenses.unfree; sourceProvenance = diff --git a/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix b/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix index 84dc6cb1d887..5de4e0300216 100644 --- a/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix +++ b/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix @@ -49,7 +49,7 @@ mkJetBrainsProduct { musl ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/ruby/"; description = "Ruby IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/rust-rover.nix b/pkgs/applications/editors/jetbrains/ides/rust-rover.nix index 30289c80def1..613242d5b46b 100644 --- a/pkgs/applications/editors/jetbrains/ides/rust-rover.nix +++ b/pkgs/applications/editors/jetbrains/ides/rust-rover.nix @@ -63,7 +63,7 @@ in xz ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/rust/"; description = "Rust IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/webstorm.nix b/pkgs/applications/editors/jetbrains/ides/webstorm.nix index bce2d34a87b0..f702f1397bfe 100644 --- a/pkgs/applications/editors/jetbrains/ides/webstorm.nix +++ b/pkgs/applications/editors/jetbrains/ides/webstorm.nix @@ -49,7 +49,7 @@ mkJetBrainsProduct { musl ]; - # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) + # NOTE: meta attrs are used for the Linux desktop entries and may cause rebuilds when changed meta = { homepage = "https://www.jetbrains.com/webstorm/"; description = "Web IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index 220c2b210d9c..17960628356b 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -56,8 +56,6 @@ Any comments or other manual changes between these markers will be removed when - Add it to `default.nix` ### TODO: - - remove the usage of `meta.` properties for building the Linux desktop files - (JetBrains already provides their own Desktop files, we can just use those probably?) - drop the community IDEs - Switch `mkJetbrainsProduct` to use `lib.extendMkDerivation`, see also: - https://github.com/NixOS/nixpkgs/pull/475183#discussion_r2655305961