Guest User

Untitled

a guest
Sep 4th, 2025
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. { config, lib, pkgs, ... }:
  2. let
  3. jb-products = {
  4. idea-ultimate = {
  5. short-name = "idea";
  6. pkg = (pkgs.jetbrains.idea-ultimate.overrideAttrs (oldAttrs: rec {
  7. version = "2024.3.5";
  8. src = pkgs.fetchurl {
  9. url =
  10. "https://download-cf.jetbrains.com/idea/ideaIU-${version}.tar.gz";
  11. sha256 =
  12. "f8e8e864f4fedddf1d366a7db23fc4132192c3a6029c614a382186ff564a78a1";
  13. };
  14. }));
  15. vmoptions = builtins.readFile ./idea.vmoptions;
  16. };
  17.  
  18. webstorm = {
  19. short-name = "webide";
  20. pkg = (pkgs.jetbrains.webstorm.overrideAttrs (oldAttrs: rec {
  21. version = "2024.3.5";
  22. src = pkgs.fetchurl {
  23. url =
  24. "https://download-cf.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
  25. sha256 =
  26. "da587d7ca3ebb08f067143e4a6b35f1aa133aa10af7fc365496838006fcd1aed";
  27. };
  28. }));
  29. vmoptions = builtins.readFile ./webstorm.vmoptions;
  30. };
  31. };
  32.  
  33. ja-netfilter-jar = ./ja-netfilter.jar;
  34.  
  35. wrappedJBProducts = lib.mapAttrs (name: value:
  36. let
  37. vmoptionsFile = pkgs.writeTextFile {
  38. name = "${name}-vmoptions";#ебаный хардкод, надо будет переделать
  39. text = value.vmoptions + "\n\n-javaagent:$HOME/jetbra/ja-netfilter.jar=jetbrains";#"\n\n-javaagent:$HOME/.conifg/${name}/ja-netfilter.jar=jetbrains";
  40. };
  41. in pkgs.runCommand "${name}-wrapped" {
  42. nativeBuildInputs = [ pkgs.makeWrapper ];
  43. } ''
  44. mkdir -p $out/bin
  45. makeWrapper ${value.pkg}/bin/${name} $out/bin/${name} \
  46. --set ${lib.toUpper value.short-name}_VM_OPTIONS "${vmoptionsFile}" \
  47. --set JAVA_HOME "${pkgs.jdk}" \
  48. --set PATH "${lib.makeBinPath [ pkgs.jdk pkgs.docker ]}:$PATH"
  49.  
  50. # Copy desktop files if they exist
  51. if [ -d "${value.pkg}/share" ]; then
  52. mkdir -p $out/share
  53. cp -r ${value.pkg}/share/* $out/share/
  54. fi
  55. '') jb-products;
  56. keys.url =
  57. "https://ipfs.io/ipfs/bafybeih65no5dklpqfe346wyeiak6wzemv5d7z2ya7nssdgwdz4xrmdu6i/";
  58. in {
  59. home.packages = lib.attrValues wrappedJBProducts;
  60.  
  61. #это все в функцию запихнуть
  62. xdg.configFile."idea-ultimate/ja-netfilter.jar".source = ja-netfilter-jar;
  63. # xdg.configFile."idea-ultimate/config-jetbrains".source = ./config-jetbrains;
  64. # xdg.configFile."idea-ultimate/plugins-jetbrains".source = ./plugins-jetbrains;
  65. # xdg.configFile."webstorm/ja-netfilter.jar".source = ./ja-netfilter.jar;
  66. # xdg.configFile."webstorm/config-jetbrains".source = ./config-jetbrains;
  67. # xdg.configFile."webstorm/plugins-jetbrains".source = ./plugins-jetbrains;
  68.  
  69. }
  70.  
Add Comment
Please, Sign In to add comment