diff --git a/pkgs/applications/editors/jetbrains/builder/linux.nix b/pkgs/applications/editors/jetbrains/builder/linux.nix index 522a621993e7..bb406773d834 100644 --- a/pkgs/applications/editors/jetbrains/builder/linux.nix +++ b/pkgs/applications/editors/jetbrains/builder/linux.nix @@ -62,6 +62,7 @@ lib.makeOverridable mkDerivation ( mainProgram = pname; }; + # FIXME: Do not use meta attributes, see README (`TODO` section) desktopItem = makeDesktopItem { name = pname; exec = pname; diff --git a/pkgs/applications/editors/jetbrains/ides/aqua.nix b/pkgs/applications/editors/jetbrains/ides/aqua.nix index 8fc7c9a5d53c..ff219361821e 100644 --- a/pkgs/applications/editors/jetbrains/ides/aqua.nix +++ b/pkgs/applications/editors/jetbrains/ides/aqua.nix @@ -50,6 +50,7 @@ mkJetBrainsProduct { lldb ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/aqua/"; description = "Test automation IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/clion.nix b/pkgs/applications/editors/jetbrains/ides/clion.nix index cf9ddaacea3e..0391c23f03ce 100644 --- a/pkgs/applications/editors/jetbrains/ides/clion.nix +++ b/pkgs/applications/editors/jetbrains/ides/clion.nix @@ -68,6 +68,7 @@ in xz ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) 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 d27cd5a320b7..15be98d7cfd3 100644 --- a/pkgs/applications/editors/jetbrains/ides/datagrip.nix +++ b/pkgs/applications/editors/jetbrains/ides/datagrip.nix @@ -45,6 +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) meta = { homepage = "https://www.jetbrains.com/datagrip/"; description = "Database IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/dataspell.nix b/pkgs/applications/editors/jetbrains/ides/dataspell.nix index 59476b2e850a..2b9bc50d6508 100644 --- a/pkgs/applications/editors/jetbrains/ides/dataspell.nix +++ b/pkgs/applications/editors/jetbrains/ides/dataspell.nix @@ -55,6 +55,7 @@ mkJetBrainsProduct { '') ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/dataspell/"; description = "Data science IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/gateway.nix b/pkgs/applications/editors/jetbrains/ides/gateway.nix index 64f41a18fb93..4610e98e9a6b 100644 --- a/pkgs/applications/editors/jetbrains/ides/gateway.nix +++ b/pkgs/applications/editors/jetbrains/ides/gateway.nix @@ -50,6 +50,7 @@ mkJetBrainsProduct { libgcc ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/remote-development/gateway/"; description = "Remote development for JetBrains products"; diff --git a/pkgs/applications/editors/jetbrains/ides/goland.nix b/pkgs/applications/editors/jetbrains/ides/goland.nix index 3a2ee90fa1ff..e2ca7a5502ca 100644 --- a/pkgs/applications/editors/jetbrains/ides/goland.nix +++ b/pkgs/applications/editors/jetbrains/ides/goland.nix @@ -53,6 +53,7 @@ in libgcc ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/go/"; description = "Go IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/idea-community.nix b/pkgs/applications/editors/jetbrains/ides/idea-community.nix index 1e45499d2ea1..19b81e123367 100644 --- a/pkgs/applications/editors/jetbrains/ides/idea-community.nix +++ b/pkgs/applications/editors/jetbrains/ides/idea-community.nix @@ -54,6 +54,7 @@ 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) meta = { homepage = "https://www.jetbrains.com/idea/"; description = "Free Java, Kotlin, Groovy and Scala IDE from Jetbrains (built from source)"; diff --git a/pkgs/applications/editors/jetbrains/ides/idea-oss.nix b/pkgs/applications/editors/jetbrains/ides/idea-oss.nix index f1f3ca2b348a..e2ac3e14d325 100644 --- a/pkgs/applications/editors/jetbrains/ides/idea-oss.nix +++ b/pkgs/applications/editors/jetbrains/ides/idea-oss.nix @@ -57,6 +57,7 @@ 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) meta = { homepage = "https://www.jetbrains.com/idea/"; description = "Free Java, Kotlin, Groovy and Scala IDE from Jetbrains (built from source)"; diff --git a/pkgs/applications/editors/jetbrains/ides/idea.nix b/pkgs/applications/editors/jetbrains/ides/idea.nix index 6d155928ff91..beea85af05ef 100644 --- a/pkgs/applications/editors/jetbrains/ides/idea.nix +++ b/pkgs/applications/editors/jetbrains/ides/idea.nix @@ -60,6 +60,7 @@ mkJetBrainsProduct { musl ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/idea/"; description = "Java, Kotlin, Groovy and Scala IDE from Jetbrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/mps.nix b/pkgs/applications/editors/jetbrains/ides/mps.nix index 39538cc1bdd5..d01b9ad29d85 100644 --- a/pkgs/applications/editors/jetbrains/ides/mps.nix +++ b/pkgs/applications/editors/jetbrains/ides/mps.nix @@ -45,6 +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) 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 a3053addba1e..3c05396678d4 100644 --- a/pkgs/applications/editors/jetbrains/ides/phpstorm.nix +++ b/pkgs/applications/editors/jetbrains/ides/phpstorm.nix @@ -49,6 +49,7 @@ mkJetBrainsProduct { musl ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/phpstorm/"; description = "PHP IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/pycharm-community.nix b/pkgs/applications/editors/jetbrains/ides/pycharm-community.nix index 3c1523a4b7a2..2adad4bf5246 100644 --- a/pkgs/applications/editors/jetbrains/ides/pycharm-community.nix +++ b/pkgs/applications/editors/jetbrains/ides/pycharm-community.nix @@ -47,6 +47,7 @@ in 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) meta = { homepage = "https://www.jetbrains.com/pycharm/"; description = "Free Python IDE from JetBrains (built from source)"; diff --git a/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix b/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix index b580eddec8bf..9b79a69e0ed9 100644 --- a/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix +++ b/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix @@ -50,6 +50,7 @@ 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) meta = { homepage = "https://www.jetbrains.com/pycharm/"; description = "Free Python IDE from JetBrains (built from source)"; diff --git a/pkgs/applications/editors/jetbrains/ides/pycharm.nix b/pkgs/applications/editors/jetbrains/ides/pycharm.nix index 964150a0847f..222642ace59d 100644 --- a/pkgs/applications/editors/jetbrains/ides/pycharm.nix +++ b/pkgs/applications/editors/jetbrains/ides/pycharm.nix @@ -51,6 +51,7 @@ in musl ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/pycharm/"; description = "Python IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/rider.nix b/pkgs/applications/editors/jetbrains/ides/rider.nix index fc59a6a7eca6..9b454d68c509 100644 --- a/pkgs/applications/editors/jetbrains/ides/rider.nix +++ b/pkgs/applications/editors/jetbrains/ides/rider.nix @@ -78,6 +78,7 @@ in libX11 ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/rider/"; description = ".NET IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix b/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix index 15d85ec916bd..84dc6cb1d887 100644 --- a/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix +++ b/pkgs/applications/editors/jetbrains/ides/ruby-mine.nix @@ -49,6 +49,7 @@ mkJetBrainsProduct { musl ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) 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 db33c1a33087..30289c80def1 100644 --- a/pkgs/applications/editors/jetbrains/ides/rust-rover.nix +++ b/pkgs/applications/editors/jetbrains/ides/rust-rover.nix @@ -63,6 +63,7 @@ in xz ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) 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 18a8004da535..bce2d34a87b0 100644 --- a/pkgs/applications/editors/jetbrains/ides/webstorm.nix +++ b/pkgs/applications/editors/jetbrains/ides/webstorm.nix @@ -49,6 +49,7 @@ mkJetBrainsProduct { musl ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/webstorm/"; description = "Web IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/ides/writerside.nix b/pkgs/applications/editors/jetbrains/ides/writerside.nix index 141b994b5ea5..a156e8fdbec5 100644 --- a/pkgs/applications/editors/jetbrains/ides/writerside.nix +++ b/pkgs/applications/editors/jetbrains/ides/writerside.nix @@ -50,6 +50,7 @@ mkJetBrainsProduct { musl ]; + # NOTE: meta attrs are currently used by the desktop entry, so changing them may cause rebuilds (see TODO in README) meta = { homepage = "https://www.jetbrains.com/writerside/"; description = "Documentation IDE from JetBrains"; diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index 53773104adff..220c2b210d9c 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -56,6 +56,15 @@ 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 + - https://github.com/NixOS/nixpkgs/pull/475183#discussion_r2655348886 + - move PyCharm overrides to a common place outside of `default.nix` + - package `patchSharedLibs` from `default.nix` as a hook + - cleanup this TODO list, especially the following points, which have been here since 2023 - replace `libxcrypt-legacy` with `libxcrypt` when supported - make `jetbrains-remote-dev.patch` cleaner - is extraLdPath needed for IDEA?