Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions pkgs/applications/editors/jetbrains/builder/linux.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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" ];
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/editors/jetbrains/ides/clion.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
7 changes: 5 additions & 2 deletions pkgs/applications/editors/jetbrains/ides/datagrip.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down
7 changes: 5 additions & 2 deletions pkgs/applications/editors/jetbrains/ides/dataspell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/editors/jetbrains/ides/gateway.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down
8 changes: 5 additions & 3 deletions pkgs/applications/editors/jetbrains/ides/goland.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down
9 changes: 6 additions & 3 deletions pkgs/applications/editors/jetbrains/ides/idea-oss.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 6 additions & 3 deletions pkgs/applications/editors/jetbrains/ides/idea.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/editors/jetbrains/ides/mps.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/editors/jetbrains/ides/phpstorm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 6 additions & 2 deletions pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 6 additions & 3 deletions pkgs/applications/editors/jetbrains/ides/pycharm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ in

wmClass = "jetbrains-pycharm";
product = "PyCharm";
productShort = "PyCharm";

# update-script-start: version
version = "2025.3.1";
Expand All @@ -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
Expand Down
8 changes: 6 additions & 2 deletions pkgs/applications/editors/jetbrains/ides/rider.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/editors/jetbrains/ides/ruby-mine.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/editors/jetbrains/ides/rust-rover.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/editors/jetbrains/ides/webstorm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 0 additions & 2 deletions pkgs/applications/editors/jetbrains/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading