diff --git a/overlays.nix b/overlays.nix index 0944de6..569ad70 100644 --- a/overlays.nix +++ b/overlays.nix @@ -3,6 +3,7 @@ with builtins; with lib; let cfg = config.aviallon.overlays; + pkgNames = pkgs: forEach pkgs (p: "${getName p}-${p.version}"); in { @@ -118,7 +119,6 @@ in false ; interpreters = pkgs: filter (x: myIsDerivation x) (attrValues pkgs.pythonInterpreters); - pkgNames = pkgs: forEach pkgs (p: "${getName p}-${p.version}"); unwrapped = final.jetbrains.pycharm-professional; in prev.buildFHSUserEnv rec { name = "pycharm-professional"; @@ -141,6 +141,35 @@ in runScript = "${unwrapped}/bin/pycharm-professional"; }); + + + clion-fhs = let + compilers = pkgs: with pkgs; with llvmPackages_17; [ + (setPrio (-9) gcc13) + (hiPrio clang) + clang-unwrapped + libcxx + ]; + in prev.buildFHSUserEnv rec { + name = "clion"; + targetPkgs = pkgs: (with pkgs; + [ + jetbrains.clion + (hiPrio cmake) + (hiPrio ninja) + gnumake + extra-cmake-modules + ] + ++ trace "Using the following compilers: ${toString (pkgNames (compilers pkgs))}" (compilers pkgs) + ); + # symlink shared assets, including icons and desktop entries + extraInstallCommands = '' + ln -s "${prev.jetbrains.clion}/share" "$out/" + ''; + extraOutputsToInstall = [ "include" "dev" "doc" ]; + + runScript = "/usr/bin/clion"; + }; }; })